Maksimum çağrı yığını boyutu npm kurulumunda aşıldı


155

Çalışmaya çalışıyorum npm install, bu konsoldan çıktı:

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>

ve bu içeriği 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_modulesBirkaç kez kaldırıldı ve yeniden yüklemeye çalıştı. Buna neden olan nedenin ne olduğunu ve nasıl düzeltileceğini anlayamıyorum.


1
Her şeyden önce, benzer sorunlar için github sorunları bağlantısını kontrol edip bilinen bir sorun değilse ekleyin. Ayrıca, neden v4.2.6'yı yüklemeye çalışıyorsunuz? Mevcut en son sürüm v7.1.0 ve önerilen kararlı sürüm v6.9.1'dir. Her şeyi silin, 6.9.1'i deneyin ve soruyu güncelleyin.
TheEnvironmentalist

1
V6.9.1 için güncellendi, aynı hatayı aldı ve aynı zamanda güncellenen soru. Yine de teşekkürler TheEnvironmentalist
GROX13

1
Buralarda bazı tavsiyeler github.com/npm/npm/issues/10776
Boris Charpentier

davamı im, bunun nedeni package.json bir özyinelemeli ilan etmiştir neden oldu;)
Alberto S.

benim durumumda, ben internet bağlantısını kaybetmişti çünkü
RayJ_inSJ

Yanıtlar:


98

metzelder'ın yanıtı sorunu çözmeme yardımcı oldu. ancak komutu çalıştırırsanız, npm cache cleansize bir mesaj verecektir

Npm @ 5 itibarıyla, npm önbellek bozulma sorunlarından kendi kendini iyileştirir ve önbellekten çıkarılan verilerin geçerli olması garanti edilir

Böylece, npm5'ten --forceitibaren komuta bir bayrak ekleyerek yapabilirsiniz .

Yani komut:

npm cache clean --force

145
Umarım ne yaptığınızı biliyorsunuzdur.
CloudMeta

1
Bana gelince ben mevcut çalışma dizini başka bir klasöre taşımak vardı - npm karışık gibi görünüyor. Düğüm_modüllerini silmek ve yeniden yüklemek hile yaptı
Philippe Hebert

10
@MetaGuru lütfen bu komutu çalıştırmanın sonuçlarının neler olduğunu açıklayın ...
cdalxndr

3
@CTS_AE npm ekibinin bu mesajı şaka olarak eklediğini sanmıyorum. Bir sonuç olmalı ve birisi bunu açıklamalıdır.
cdalxndr

2
@cdalxndr Şaka / hiciv olarak bir yorum olarak bırakıldığını söylüyordum, doğrudan bir alıntı olarak npmyararlı bir şey eklemiyordu, ama bu noktada bir meme daha. Gerçek komut hakkında daha fazla bilgiyi buradan edinebilirsiniz: docs.npmjs.com/cli-commands/cache.html açıkça gücün ne yaptığını açıklar; tüm önbellek öğelerinin artık bütünlükleri için tam olarak doğrulandığını, bir şey bozuksa kendi kendini iyileştireceğini, bu nedenle önbellek her zaman uygun durumda olmalı ve disk alanını geri kazanmaya çalışmadığınız sürece asla temizlenmemelidir, bu nedenle eklemeniz gerekir --force. Not: Sürüme göre değişebilir.
CTS_AE

84

npm rebuild sorunumu çözdü


31
Herkes bu cevabı daha fazla açıklayabilir mi? Bu sorunu neden çözüyor?
Patrick Szalapski

3
silinen package-lock.json ve npm rebuild benim için hile yaptı
Patel

benim durumumda, .npm klasörümdeki bazı dosyalar kök olarak kuruldu. npm önbellek doğrulaması size neyin yanlış olduğunu söyler.
kirenpillay

Bu hile yaptı. npm önbellek temiz bu vesileyle işe yaramadı.
Shiva Naru

43

package-lock.jsonVe node-modulesklasörü kaldırmayı deneyin :

rm package-lock.json
rm -r node_modules

14
Silerseniz, lock-lock.json dosyasının amacını öldürüyorsunuz. Bağımlılıklarınızın deterministik olacağını garanti eder.
Eliseu Monar dos Santos

5
Doğru, ancak uygulamanızı farklı bir platformda yükleyemiyorsanız, bunu yapmaktan başka seçeneğiniz yoktur.
Marc

19

Ben de aynı sorunu yaşadım npm install. Çok fazla arama yaptıktan sonra, .npmrcdosyanızı veya içeriğini (bulunan %USERPROFILE%/.npmrc) kaldırmanın bu sorunu çözeceğini öğrendim . Bu benim için çalıştı.


13
npm uninstall

npm cache clean --force

Im bu iki yöntemi kullanarak ama işe yaramadı. Düğüm modüllerini sildikten sonra ve tekrar npm yükleyin ama tekrar çalışmadı. Son olarak im-package-lock.json dosyasını silmek ve kullandıktan sonra yeni package-lock.json dosyası oluşturmak

npm install

ve tamam !!!


5
Package-lock.json dosyasını silmek benim için düzeltildi, teşekkürler!
Ryan Wilson

11

Aşağıdakileri yaparak bu sorunun üstesinden geldim:

  • Npm bağımlılıklarının tüm içeriğini silin. Varsayılan yükleme konumunu bu iş parçacığına göre bulabilirsiniz: https://stackoverflow.com/a/5926706/1850297

  • npm installKomutu çalıştırmadan önce çalıştırmayı öneririmnpm cache clean --force


Mesaj npm cache clean: "npm @ 5 itibariyle, npm önbelleği bozulma sorunlarından kendi kendini iyileştirir ve önbellekten çıkarılan verilerin geçerli olacağı garanti edilir."
Ian Grainger

7

sildim

node_modules

ve daha sonra

npm kurulum

Benim için çalıştı


2
wsl ile çalıştığımdan beri, bilgisayarımın çalışması için adımlarınıza ek olarak yeniden başlatmam gerekiyordu
Avshalom



3

npm önbellek temizliği aşağıdaki iletiyi döndürür

Npm @ 5 itibarıyla, npm önbellek bozulma sorunlarından kendi kendini iyileştirir ve önbellekten çıkarılan verilerin geçerli olduğu garanti edilir. Her şeyin tutarlı olduğundan emin olmak istiyorsanız, bunun yerine 'npm önbellek doğrulamasını' kullanın. Öte yandan, yükleyici ile ilgili bir sorunu npm install --cache /tmp/empty-cacheayıklarsanız, gerçek olanı nükle etmek yerine geçici bir önbellek kullanabilirsiniz.

npm önbellek doğrulaması yukarıda belirtildiği gibi çalıştırırsanız, gerçekten önbellek doğrulaması ve sorunu gideren çöp toplama çalıştırır

Önbellek doğrulandı ve sıkıştırıldı (~ \ AppData \ Roaming \ npm-cache_cacache): Doğrulanmış içerik: 6183 (447214684 bayt) Çöp toplanan içerik: 16 (653745 bayt) Dizin girişleri: 9633


Bu benim için yeterliydi. npm önbellek doğrulaması, node_modules kaldırılmayacak şekilde sorunu çözdü. (Ve önbelleği veya package-lock.json'u boğmayacaktım). Bu npm ile ilgili bir sorun olsa eminim. Npm önbelleğinin neden kendini iyileştirdiğini neden değiştirdiğini göremiyorum.
Stuart Watt

3

Bu sorun, var olmayan bir paketi yüklemeye çalışıyorsanız veya var olmayan bir sürümü yüklemeye çalışıyorsanız da oluşabilir.


2

Npm paketini kaldırır ve önbelleği temizlemeye zorlar ve terminali kapatır ve hangi paket olursa olsun yeniden yüklersiniz.

$sudo npm uninstall <package - name>
$sudo npm cache clean --force

Ardından terminali yeniden başlatın ve kontrol edin

Hala çalışmıyor npm ve düğümü en son sürüme yükseltin


2

Bu yanıtların hiçbirinin işinize yaramaması durumunda, kullandığınız terminal doğru değil / node_modules sizin bilgisayarınızın başka bir parçası tarafından kullanılıyor olabilir.

Benim durumumda, bu hata (maksimum çağrı yığını boyutu aşıldı) ve yaptığımda erişim hatası olayı arasında orman tutmaya devam ettim sudo npm i .

Düzeltme, IDE (webstorm) kapatmak, npm itemel bir terminalde çalıştırmak oldu ve bu oldu.


Editörün kapatılması benim için düzeltti. (Benim için Netbeans)
Wim Pruiksma

2

Ben bir Windows kullanıcısı değilim , öyleyse, Rene Knop yorumunu kontrol etmeye çalışın .

For Unix / OSX kullanıcıları, ben kök kaldırdık .npmrc dosyasını ~/.npmrc.
Denemeden önce, lütfen orada gerekli hiçbir şey olup olmadığını kontrol edin, tüm içeriği terminalinize getirmek için bu komutu kullanabilirsiniz:cat ~/.npmrc .

Şunun gibi bir şeyiniz varsa:

cat: /Users/$USER/.npmrc: No such file or directory

bir kopyasını kaydetmek için:

cp ~/.npmrc ~/.npmrc_copy

Şimdi, kaldırmaya çalışın (bash kullanıcıları için çalışır: Unix / Ubuntu / OSX ...):

rm -f ~/.npmrc

Bu benim için çalıştı.
Bu diğerleri için yararlı olacağını umuyoruz.


2

Çözdüm% 100 gulp sürümü ile bu sorunu yaşadım: 3.5.6.

Package-lock.js dosyasını temizlemeniz ve sonra çalıştırmanız npm installve Form çalıştı



1

Mac'imdeki bu sorunu düzeltmek için her şeyi denedim. Sorun zaten Node.js'den npm indirip bir Team Treehouse videosu ile birlikte Homebrew ile yeniden yüklediğimde başladığını düşünüyorum.

İşte denedim:

Gönderen 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*

Gönderen Nasıl tamamen node.js kaldırma I do ve baştan yeniden (Mac OS X)

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

İşte işe yarayan:

Sonunda, benim için işe yarayan tek şey GitHub'dan Mac'imdeki npm ile ilgili her şeyi tamamen kaldıran npm -install repo'yu klonlamaktı.

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

Daha sonra Node.js'den node ve npm'i yeniden kurmak zorunda kaldım.


1

Şirketimiz dev ortamı Artifactorybizim NPM bağımlılıkları için varsayılan kayıt defteri olarak kullanır ve çalışırken npm installbu işe yaramadı, hangi işe yaramadı ... bu yüzden ana npm kayıt defterini elle belirleyerek npm install --registry https://registry.npmjs.orgbu sorunu benim için düzeltti ...


1

Aynı hatayla karşılaşıyordum, bir monorepo projesindeki paketlerden birine jest yüklemeye çalışıyordum.

Bir monorepo projesini paketlemek için Yarn + Learna kullanıyorsanız, hedef paketin içinde package.json'a gitmeniz ve npm installya da çalıştırmanız gerekir npm install <package name>.


0

Bu sorun vardı ve benim git çalıştırılabilir yükseltme nedeniyle oldu. Git-2.21.0.rc1.windows.1-64-bit'e geri döndüm ve bunu ortam yoluma ekledim ve sorunumu düzelttim.


0

Windows 7 makinemdeki bu sorunu düzeltmek için her şeyi denedim

Npm'yi yeniden yükleme ve yeniden oluşturma

Sonunda, tüm günümü boşa harcayarak bu küçük yapılandırma ayarı sorununu çözdüm.

Bu sorunu nasıl çözdüm

Projeye özgü yapılandırmalarımı global .npmrc dosyasında sürücü gibi bir konumda kaldırma: / Windows / Users /../. Npmrc


0

Sonunda Mac'te benim için çalışan tek şey, NVM kullanarak 8.12 düğümünden 10.x'e yükseltme yapmaktı.

NVD ile Node'nin diğer tüm sürümlerini kaldırdım, sonra 10.x'i yükledim, nvm alias default node , bu da NVM'ye her zaman bir kabuktaki en son düğüm sürümünü varsayılan olarak bildirmesini söyledi.

Bundan sonra, canlı yeniden yükleme sorunum ortadan kalktı!



0

Jenkins (veya herhangi bir CI) ile bir Docker görüntüsü oluştururken bu sorunu yaşayanlar package-lock.jsoniçin, kabın da kopyalandığından emin olun .

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

Bizim için yükleme gerçekten iyi gitti, hata sadece npm prune productionüretim görüntüsü için çalışırken meydana geldi .


Ben npm kuru erik ve NODE_ENV üretime ayarlanmamış bu sorun var. Node_modules ve npm install tekrar kaldırılarak çözüldü
Eduardo

0

Varsayılan npm kayıt defteriniz genel npm deposundan başka bir şeyse (bunu .npmrc dosyanıza gidip npm yapılandırmanızı npm CLI komutları aracılığıyla kontrol ederek kontrol edebilirsiniz), kayıt defteri yapılandırmasını yeniden genel olarak gösterecek şekilde ayarlamayı deneyebilirsiniz npm deposu. Sonra npm installtekrar çalıştırın .

Genel npm deposunda bulunmayan bağımlılıklarınız varsa, bu bağımlılıkları package.json'dan geçici olarak kaldırmayı deneyin. Bu, koşmanıza izin verecektir npm install. Son olarak, kaldırdığınız bağımlılıkları ve kayıt defteri yapılandırmasını geri alın ve bağımlılıklarınızın npm installgeri kalanını yüklemek için son bir kez çalıştırın .


0

Bugün bir . npm pruneÇalıştırdıktan sonra bile çalışırken bu hatayla karşılaştık npm cache clean --force.

sürümleri:

node 13.8.0 
npm 6.13.6

package-lock.jsonBu vaka için de çalışıldı. Hepinize teşekkür ederim!


0

Benzer bir hatayla karşılaşıyordum. Ben npm npm link'd klasörü için .bin klasörlerinden dosyaları silemedi gerçeğini izledi. Bu yüzden gittim ve rm -rf npm link'd klasöründeki tüm .bin klasörlerini.

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

Bu sorunu çözdü.


0

Aynı problemle karşılaştım ama benim durumumda en yarnbaşından beri kullanıyorum ama bazı paket benioku npm installkomutunu kopyaladım ve bu hatayı aldım. Daha sonra yarn add <package-name>sorunun çözüldüğünü ve paketin kurulduğunu fark etti .

Gelecekte birine yardımcı olabilir.


0

Aşağıdaki adımlar bu sorunu çözmeme yardımcı oldu:

  1. Tüm reaksiyon şeritlerini durdurun (örn. Oluşturmaya başlayın)
  2. Çalıştırmak npm cache clean --force
  3. Çalıştırmak npm install

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

Ubuntu'da benim için çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.