Максимальный размер стека вызовов превышен при установке npm
Я пытаюсь запустить npm install
, это выводится с консоли:
npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! Maximum call stack size exceeded
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
и это содержание npm-debug.log
:
113791 verbose stack RangeError: Maximum call stack size exceeded
113791 verbose stack at Object.color (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings/index.js:115:32)
113791 verbose stack at EventEmitter.log._format (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:252:51)
113791 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:138:24)
113791 verbose stack at emitThree (events.js:116:13)
113791 verbose stack at emit (events.js:194:7)
113791 verbose stack at .<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js:23:18)
113791 verbose stack at emitThree (events.js:116:13)
113791 verbose stack at emit (events.js:194:7)
113791 verbose stack at .<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js:23:18)
113791 verbose stack at emitThree (events.js:116:13)
113791 verbose stack at emit (events.js:194:7)
113792 verbose cwd /home/giorgi/AdMove/dev/web-advertiser-admove
113793 error Linux 4.8.0-27-generic
113794 error argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
113795 error node v6.9.1
113796 error npm v3.10.8
113797 error Maximum call stack size exceeded
113798 error If you need help, you may report this error at:
113798 error <https://github.com/npm/npm/issues>
113799 verbose exit [ 1, true ]
Несколько раз node_modules
и попытался переустановить. Не могу понять причину, по которой это и как ее исправить.
Ответы
Ответ 1
Ответ metzelder помог мне решить проблему. однако если вы запустите команду npm cache clean
, она выдаст вам сообщение
Начиная с npm @5, кэш npm самовосстанавливается от проблем с повреждением, а данные, извлеченные из кеша, гарантированно будут действительными
Итак, начиная с npm5, вы можете сделать это, добавив флаг --force
в команду.
Итак, команда:
npm cache clean --force
Ответ 2
npm rebuild
это решило мою проблему
Ответ 3
Попробуйте удалить package-lock.json
и папку node-modules
:
rm package-lock.json
rm -r node_modules
Ответ 4
У меня была такая же проблема с npm install
. После долгих поисков я обнаружил, что удаление файла .npmrc
или его содержимого (находящегося в %USERPROFILE%/.npmrc
) решит эту проблему. Это сработало для меня.
Ответ 5
npm uninstall
npm cache clean --force
Я использую этот метод, но он не работает. После удаления узловых модулей и повторной установки npm, он снова не работал. Наконец, я удаляю package-lock.json и создаю новый файл package-lock.json после этого, используя
npm install
и хорошо !!!
Ответ 6
Я преодолел эту проблему, выполнив следующие действия:
-
Удалите все содержимое зависимостей npm. Вы можете найти расположение установки по умолчанию в соответствии с этой веткой: fooobar.com/questions/16853/...
-
Перед тем, как запустить команду npm install
, я предлагаю запустить npm cache clean --force
Ответ 7
я удалил
node_modules
а затем переустановил
установка npm
У меня сработало
Ответ 8
Очистка кеша npm возвращает сообщение ниже
Начиная с npm @5, кэш npm самовосстанавливается от проблем с повреждением, а данные, извлеченные из кеша, гарантированно будут действительными. Если вы хотите убедиться, что все согласовано, используйте вместо этого 'npm cache verify'. С другой стороны, если вы отлаживаете проблему с помощью установщика, вы можете использовать npm install --cache/tmp/empty-cache
чтобы использовать временный кэш вместо обнуления реального.
если вы запустите проверку кэша npm, как указано выше, он фактически выполняет проверку кэша и сборку мусора, которая решает проблему
Кэш проверен и сжат (~\AppData\Roaming\npm-cache_cacache): Контент проверен: 6183 (447214684 байт). Сборка мусора содержимого: 16 (653745 байт). Записи индекса: 9633
Ответ 9
Я не пользователь Windows, поэтому, если это так, попробуйте проверить комментарий Рене Кнопа.
Для пользователей Unix/OSX я удалил корневой .npmrc файл ~/.npmrc
.
Прежде чем попробовать, , пожалуйста,,
проверьте, нет ли там ничего необходимого
Вы можете использовать эту команду для переноса всего контента в ваш терминал: cat ~/.npmrc
.
Если у вас есть что-то вроде:
cat: /Users/$USER/.npmrc: No such file or directory
чтобы сохранить копию:
cp ~/.npmrc ~/.npmrc_copy
Теперь попробуйте удалить его (работает для пользователей bash: Unix/Ubuntu/OSX...):
rm -f ~/.npmrc
Это сработало для меня.
Надеюсь, это будет полезно для других.
Ответ 10
Если ни один из этих ответов не работает для вас, это может быть связано с тем, что используемый вами терминал не является правильным/ваши node_modules
используются другой частью вашего компьютера.
В моем случае я продолжал колебаться между этой ошибкой (превышен максимальный размер стека вызовов) и событием ошибки доступа, когда я делал sudo npm i
.
Исправление состояло в том, чтобы закрыть мою среду разработки (которая была веб-штормом), запустить npm i
в базовом терминале, и на этом все.
Ответ 11
В моем случае обновите до последней версии:
npm install -g npm
Ответ 12
Я только что сделал npm rebuild
, он работал как шарм.
Ответ 13
Я попробовал все, чтобы исправить эту проблему на моем Mac. Я думаю, что проблема началась, когда я уже скачал npm из Node.js, а затем переустановил его с помощью Homebrew, следуя видео с Team Treehouse.
Вот что я попробовал:
С https://docs.npmjs.com/misc/removing-npm
sudo npm uninstall npm -g
sudo make uninstall
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
Из Как полностью удалить Node.js и переустановить с самого начала (Mac OS X)
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
Вот что сработало:
В конце концов, единственное, что мне помогло, - это клонировать репозиторий npm-reinstall из GitHub, который полностью удалил все, что связано с npm, на моем Mac.
https://github.com/brock/node-reinstall
Затем мне пришлось переустановить узел и npm из Node.js.
Ответ 14
У меня была эта проблема, и это было связано с обновлением моего исполняемого файла git. Я откатился на Git-2.21.0.rc1.windows.1-64-bit и добавил это в путь к моей среде, и это исправило мою проблему.
Ответ 15
Вы удаляете пакет npm, принудительно очищаете кеш, закрываете терминал и переустанавливаете любой пакет.
$sudo npm uninstall <package - name>
$sudo npm cache clean --force
Затем перезапустите терминал и проверьте
Все еще не работает, обновите npm и узел до последней версии.
Ответ 16
Я пытался все, чтобы исправить эту проблему на моем компьютере с Windows 7, как
Переустановка и восстановление npm
Наконец, я исправил эту небольшую проблему с настройками конфигурации, потратив впустую весь свой день.
Как я решил эту проблему
Удаление конкретных конфигураций моего проекта в глобальном .npmrc в расположении, таком как диск: /Windows/Users/../. Npmrc
Ответ 17
Одна вещь, которая наконец-то сработала для меня на Mac, - это обновление с узла 8.12 до 10.x с использованием NVM.
Я удалил все другие версии Node с NVM, затем установил 10.x, затем запустил nvm alias default node
, который говорит NVM всегда по умолчанию использовать последнюю доступную версию узла в оболочке.
После этого моя проблема с перезагрузкой исчезла!
Ответ 18
Переход на пряжу решил проблему для меня.