Я пытаюсь запустить 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!     

и это содержимое 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. (/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 . (/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 . (/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     
113799 verbose exit [ 1, true ]

Удалял node_modules несколько раз и пытался переустановить. Не могу понять, в чем причина этого и как это исправить.

GROX13

Ответов: 43

Ответы (43)

Я решил эту проблему, выполнив следующие действия:

  • Удалить все содержимое зависимостей npm. Вы можете найти место установки по умолчанию в соответствии с этой веткой: https://stackoverflow.com/a/5926706/1850297

  • Перед запуском команды npm install я предлагаю запустить npm cache clean --force

Я удалил

node_modules

, а затем переустановил

установка npm

У меня сработало

Я перепробовал все, чтобы исправить эту проблему на своем 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*}

Вот что сработало:

• 100001

https://github.com/brock/node-reinstall

Затем мне пришлось переустановить node и npm из Node.js.

восстановление npm он решил мою проблему

Вы удаляете пакет npm, принудительно очищаете кеш, закрываете терминал и переустанавливаете любой пакет.

$sudo npm uninstall 
$sudo npm cache clean --force

Затем перезапустите терминал и проверьте

Все еще не работает, обновите npm и node до последней версии

npm uninstall

npm cache clean --force

Я пробовал эти два метода, но они не сработали. После этого я удалил каталог node_modules и снова запустил npm install, это все еще не сработало. Наконец, я удалил package-lock.json и создал новый файл package-lock.json, используя

npm install

Я не пользователь Windows, поэтому, если да, попробуйте проверить комментарий Рене Кнопа.

Для пользователей Unix / OSX я удалил корневой файл .npmrc ~ / .npmrc.
Перед тем, как попробовать, наберите , пожалуйста,, проверьте, нет ли там ничего необходимого вы можете использовать эту команду для переноса всего содержимого в свой терминал: cat ~ / .npmrc.

Если у вас есть что-то вроде:

cat: /Users/$USER/.npmrc: Нет такого файла или каталога

для сохранения копии:

cp ~ / .npmrc ~ / .npmrc_copy

Теперь попробуйте удалить его (работает для пользователей bash: Unix / Ubuntu / OSX ...):

rm -f ~ / .npmrc

У меня это сработало.
Надеюсь, это будет полезно для других.

Единственное, что наконец сработало для меня на Mac, - это обновление с узла 8.12 до 10.x с использованием NVM.

• 100001 *

После этого у меня исчезла проблема с живой перезагрузкой!

В моем случае обновить до последней версии:

npm install -g npm

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

Решил на 100% У меня была такая проблема с версией gulp: 3.5.6.

Вы должны очистить package-lock.js, а затем запустить npm install, и он сработал с

Эта проблема также может возникнуть, если вы пытаетесь установить несуществующий пакет или пытаетесь установить несуществующую версию.

Сегодня мы столкнулись с этой ошибкой при запуске npm prune even после запуска npm cache clean --force.

Версии:

node 13.8.0 
npm 6.13.6

Удаление package-lock.json также работало в этом случае. Всем спасибо!

Я столкнулся с той же ошибкой, я пытался установить jest в один из пакетов в проекте monorepo.

Если вы используете Yarn + Learna для упаковки проекта monorepo, вам нужно будет перейти к package.json внутри целевого пакета, а затем запустить npm install или npm install <имя пакета >.

Я столкнулся с той же проблемой, но в моем случае я использовал yarn с самого начала, но из некоторого файла readme я скопировал команду npm install и получил эту ошибку. Позже выяснилось, что yarn add <имя-пакета> решило проблему и пакет был установлен.

Это может кому-то помочь в будущем.

Following steps helped me to solve this issue:

  1. Stop all react strips (e.g. start build)
  2. run npm cache clean --force
  3. run npm install
npm cache clean --force

Это работает для меня с узлом 8 и npm 6 +

Сообщение об ошибке может не иметь прямого отношения к процедуре npm, которую вы пытаетесь запустить, это могут быть другие процессы узла, которые конфликтуют или используют ресурсы.

В моем случае у меня была пустая папка node_modules, только что полученная после недавнего инициализации, но все равно

npm ERR! Превышен максимальный размер стека вызовов

при запуске npm install --save-dev @ wordpress / scripts для разработки плагинов WordPress.

Проблема заключалась в работающем в моей папке wp-content наблюдателе перезагрузки, при этом установка сработала в первый раз.

В моем случае Превышен максимальный размер стека вызовов ранее было вызвано другой ошибкой. Журналы выглядели так:

// ... skipping some deprecation warnings

> core-js@3.6.5 postinstall /root/.nvm/versions/node/v14.10.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-graphql-types-generator/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

sh: 1: node: Permission denied
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/@aws-amplify/cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! Maximum call stack size exceeded

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-09-10T14_10_28_397Z-debug.log

Примечание sh: 1: node: Permission denied, что привело меня к https://forum.vuejs.org/t/cannot-install-vue-cli-permission-error-in-require-postinstall/82017/7

Мне пришлось добавить - unsafe-perm к команде установки и запустить ее как root:

sudo npm install -g --unsafe-perm @aws-amplify/cli
rm -rf node_modules

, а затем переустановка сработала для меня.

примечание: вероятно, вам не нужно вырывать ваши файлы блокировки

Try this first!

Run npm install again

Crazily simple, but I don't know who else tried this so thought I should put it up here, despite all the existing answers. I suggest people try this first though, given it's the simplest solution and doesn't come with the risks others have noted when, say, deleting package-lock.json

Theory:

This is totally unproven as I'm just doing this to run a code screen (i.e. a totally new repo to me) and I guessed that some of the packages had been installed the first time npm install was run; it just ran out of resources later on.

I guessed that if I ran npm install again it would skip the install of the now-installed packages and complete, or at least get further. The behaviour I guessed at was what I saw but I didn't actually debug or test if this behaviour was for the reasons I guessed!

Clearly a lot of different things have worked for different people, but I thought I should add an answer to this already well-answered question on the basis it's the most trivial to do.

And if you're lucky it's going to run for long enough for you to grab a 🍵 or ☕ 😉

npm rebuild точно будет работать

Попробуйте удалить package-lock.json и папку node_modules :

rm package-lock.json
rm -r node_modules

Наша среда разработки компании использует Artifactory в качестве реестра по умолчанию для наших зависимостей NPM, а при запуске npm install это было по умолчанию, что не сработало ... поэтому вручную указание основного реестра npm через npm install --registry https://registry.npmjs.org устранило эту проблему для меня ...

У меня была такая же проблема с npm install. После долгих поисков я обнаружил, что удаление файла .npmrc или его содержимого (находящегося по адресу % USERPROFILE% /. Npmrc) решит эту проблему. У меня это сработало.

echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

у меня работает на Ubuntu.

У меня была эта проблема из-за обновления моего исполняемого файла git. Я откатился к Git-2.21.0.rc1.windows.1-64-bit и добавил это в свой путь к среде, и это устранило мою проблему.

Я пробовал все предложения в этом потоке, но ни один из них не работал, я продолжаю получать RangeError: Превышен максимальный размер стека вызовов при запуске npm install. Я решил запустить npm start напрямую, и он запустился успешно без ошибок ...

Не знаю почему, но я запустил npm install с sudo, и это сработало.

sudo npm install

В большинстве случаев эта проблема возникает, если вы используете систему, предоставленную организацией, в которой работаете, и ее vpn ограничивает использование этой команды. В этом случае вы можете попытаться отключиться от vpn организации, а затем выполнить эту команду.

Как правило, после установки модуля гораздо удобнее использовать npm ci вместо npm install. Пожалуйста, ознакомьтесь с этим SO-ответом, чтобы узнать о преимуществах первого по сравнению с более поздним в производственной среде. Так что просто запустите

npm ci

Все зависимости обновятся, и проблема исчезнет. Или произойдет ошибка в случае серьезной рассинхронизации между одним и другим.

У меня была аналогичная ошибка. Я отследил это до того факта, что npm не смог удалить файлы из папок .bin для папки npm link'd. Итак, я вошел и rm -rf все папки .bin из папки npm link'd.

find "linked-folder" -type d -name ".bin" -print  
For all folders listed | rm -rf  

Это устранило проблему.

У меня тоже была такая же проблема. Я пробовал предыдущие решения, но решение для меня было намного проще. Мне нужно было только удалить пространство в каталоге, а затем снова запустить npm i

Спасибо: https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383 за указание на это.

Тем, у кого возникает эта проблема при создании образа Docker с Jenkins (или любым другим CI), убедитесь, что package-lock.json также скопирован в контейнер.

COPY ./src/package*.json /home/node/
RUN npm install

Для нас установка действительно прошла нормально, ошибка возникала только при запуске npm prune production для производственного образа.

В моем случае у меня был собственный файл .npmrc, который включал токен аутентификации для аутентификации в частном реестре npm.

Срок действия токена истек, что помогло вернуть код E401: неверный или отсутствующий пароль локально, но ERR! Превышен максимальный размер стека вызовов из сборки CI.

У меня была эта проблема, и оказалось, что у меня была символическая ссылка внутри node_modules, указывающая на его родительский элемент, т.е.

[user@localhost]$ ls -la /path/to/project/node_modules
total 3272
...
lrwxrwxrwx   1 user user  50 Nov 26 18:38 node_modules -> ../node_modules
...

То есть, я каким-то образом испортил сценарий bash, и он создал круговую символическую ссылку. Удаление символической ссылки решило проблему.

Если ваш реестр npm по умолчанию не является общедоступным репозиторием npm (вы можете проверить это, перейдя в файл .npmrc или проверив свою конфигурацию npm с помощью команд командной строки npm), вы можете попробовать отключить конфигурацию реестра, чтобы она указывала назад в публичный репозиторий npm. Затем снова запустите npm install.

Если у вас есть зависимости, которых нет в общедоступном репозитории npm, попробуйте временно удалить эти зависимости из package.json. Это позволит вам запустить npm install. Наконец, верните зависимости и конфигурацию реестра, которые вы удалили, и запустите npm install в последний раз, чтобы установить остальные зависимости.

Я тоже столкнулся с той же проблемой, и вот как я ее решил.

  1. Прежде всего вам необходимо убедиться, что у вас актуальные версии node и npm. в противном случае обновите пакеты node и npm до последних версий.

    nvm install 12.18.3 // обновить версию узла через диспетчер версий узла
    
    npm install npm // обновите версию npm до последней
    
  2. Удалите папку node_modules и файл package-lock.json.

  3. Принудительно очистить весь кеш NPM с помощью следующей команды.

    очистка кэша npm --force
    
  4. Переустановите все зависимости.

    установка npm
    
  5. Если вышеуказанный шаг не устранил вашу проблему, попробуйте переустановить ваши зависимости после выполнения следующей команды.

    восстановление npm
    

Очистка кеша npm возвращает сообщение под сообщением

Начиная с npm@5, кэш npm самовосстанавливается от проблем с повреждением, и данные, извлеченные из кеша, гарантированно являются действительными. Если вы хотите убедиться, что все согласовано, используйте вместо этого npm cache verify. С другой стороны, если вы устраняете проблему с помощью установщика, вы можете использовать npm install --cache / tmp / empty-cache, чтобы использовать временный кеш вместо того, чтобы уничтожать фактический.

Если вы запустите npm cache verify, как указано выше, тогда он фактически запустит проверку кеша и сборку мусора, которые устранят проблему.

Кэш проверен и сжат (~ \ AppData \ Roaming \ npm-cache_cacache): Контент проверен: 6183 (447214684 байта) Контент удален сборщиком мусора: 16 (653745 байт) Записи индекса: 9633

У меня получилось в докере (узел: 15-buster).

Не забудьте использовать WORKDIR / , чтобы он не конфликтовал с исходными установленными библиотеками npm.

Папкой может быть что угодно, кроме системных папок, в том числе использование /.

Если ни один из этих ответов вам не подходит, это может быть связано с тем, что используемый вами терминал не подходит / ваш node_modules используется другой частью вашего компьютера.

В моем случае я продолжал жонглировать между этой ошибкой (превышен максимальный размер стека вызовов) и событием ошибки доступа, когда я сделал sudo npm i.

Исправление заключалось в том, чтобы закрыть мою IDE (которая была WebStorm), запустить npm i в базовом терминале, и все.

Ответ Метцельдера помог мне решить проблему. однако, если вы запустите команду npm cache clean, вы получите сообщение

Начиная с npm@5, кеш npm самовосстанавливается от проблем с повреждением, и данные, извлеченные из кеша, гарантированно являются действительными

Итак, начиная с npm5, вы можете сделать это, добавив к команде флаг - force.

Итак, команда:

npm cache clean --force

Я пробовал все, чтобы исправить эту проблему на моем компьютере с Windows 7, например

Переустановка и пересборка npm

Наконец, я исправил эту небольшую проблему с настройками конфигурации, потратив впустую весь свой день.

Как я решил эту проблему

Удаление специфичных для моего проекта конфигураций из глобального .npmrc в таком месте, как диск: / Windows / Users /../. npmrc

2022 WebDevInsider