Максимальный размер стека вызовов превышен при установке 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

Переход на пряжу решил проблему для меня.