npm ERR cb () nigdy nie został wywołany

274

Mam aplikację Node.js hostowaną na Heroku. Za każdym razem, gdy robię a, pojawia git push herokusię następujący błąd:

Counting objects: 14, done.
Delta compression using up to 6 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 1.20 KiB, done.
Total 12 (delta 8), reused 0 (delta 0)

-----> Node.js app detected
-----> Resolving engine versions
       Using Node.js version: 0.6.20
       Using npm version: 1.2.12
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
       npm http GET https://registry.npmjs.org/pg/0.6.15
       npm http GET https://registry.npmjs.org/socket.io
       npm http 200 https://registry.npmjs.org/pg/0.6.15
       npm http GET https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
       npm http 200 https://registry.npmjs.org/socket.io
       npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
       npm http 200 https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
       npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
       npm http GET https://registry.npmjs.org/socket.io-client/0.9.11
       npm http GET https://registry.npmjs.org/policyfile/0.0.4
       npm http GET https://registry.npmjs.org/base64id/0.1.0
       npm http GET https://registry.npmjs.org/redis/0.7.3
       npm http GET https://registry.npmjs.org/generic-pool/1.0.9
       npm http 200 https://registry.npmjs.org/policyfile/0.0.4
       npm http GET https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz

       npm http 200 https://registry.npmjs.org/base64id/0.1.0
       npm http GET https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
       npm http 200 https://registry.npmjs.org/generic-pool/1.0.9
       npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
.tgz
       npm http 200 https://registry.npmjs.org/socket.io-client/0.9.11
       npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-clie
nt-0.9.11.tgz
       npm http 200 https://registry.npmjs.org/redis/0.7.3
       npm http GET https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
       npm http 200 https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz

       npm http 200 https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
       npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
.tgz
       npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-clie
nt-0.9.11.tgz
       npm http 200 https://registry.npmjs.org/redis/-/redis-0.7.3.tgz

       > pg@0.6.15 install /tmp/build_36us8733h7kkr/node_modules/pg
       > node-waf configure build || (exit 0)

       Checking for program g++ or c++          : /usr/bin/g++
       Checking for program cpp                 : /usr/bin/cpp
       Checking for program ar                  : /usr/bin/ar
       Checking for program ranlib              : /usr/bin/ranlib
       Checking for g++                         : ok
       Checking for node path                   : not found
       Checking for node prefix                 : ok /tmp/node-node-nNUw
       Checking for program pg_config           : /usr/bin/pg_config
       'configure' finished successfully (0.058s)
       Waf: Entering directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
       [1/2] cxx: src/binding.cc -> build/Release/src/binding_1.o
       [2/2] cxx_link: build/Release/src/binding_1.o -> build/Release/binding.no
de
       Waf: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
       'build' finished successfully (0.492s)
       npm http GET https://registry.npmjs.org/uglify-js/1.2.5
       npm http GET https://registry.npmjs.org/ws
       npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
       npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
       npm http 200 https://registry.npmjs.org/active-x-obfuscator/0.0.1
       npm http GET https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
fuscator-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/uglify-js/1.2.5
       npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
       npm http 200 https://registry.npmjs.org/xmlhttprequest/1.4.2
       npm http GET https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
.4.2.tgz
       npm http 200 https://registry.npmjs.org/ws
       npm http GET https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
       npm http 200 https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
fuscator-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
       npm http 200 https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
.4.2.tgz
       npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
       npm http GET https://registry.npmjs.org/zeparser/0.0.5
       npm http GET https://registry.npmjs.org/commander
       npm http GET https://registry.npmjs.org/tinycolor
       npm http GET https://registry.npmjs.org/options
       npm http 200 https://registry.npmjs.org/zeparser/0.0.5
       npm http GET https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
       npm http 200 https://registry.npmjs.org/options
       npm http GET https://registry.npmjs.org/options/-/options-0.0.3.tgz
       npm http 200 https://registry.npmjs.org/tinycolor
       npm http GET https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/commander
       npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
       npm http 200 https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
       npm http 200 https://registry.npmjs.org/options/-/options-0.0.3.tgz
       npm http 200 https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz

       > ws@0.4.25 install /tmp/build_36us8733h7kkr/node_modules/socket.io/node_
modules/socket.io-client/node_modules/ws
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_36us8733h7kkr/node_modules/socket.io
/node_modules/socket.io-client/node_modules/ws/build'
         CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
         SOLINK_MODULE(target) Release/obj.target/bufferutil.node
         SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished
         COPY Release/bufferutil.node
         CXX(target) Release/obj.target/validation/src/validation.o
         SOLINK_MODULE(target) Release/obj.target/validation.node
         SOLINK_MODULE(target) Release/obj.target/validation.node: Finished
         COPY Release/validation.node
       make: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/socket.io/
node_modules/socket.io-client/node_modules/ws/build'
       npm ERR! cb() never called!
       npm ERR! not ok code undefined
       npm ERR! cb() never called!
       npm ERR! not ok code 1
 !     Failed to install --production dependencies with npm
 !     Heroku push rejected, failed to compile Node.js app

To git@heroku.com:still-chamber-1286.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:still-chamber-1286.git'

Błąd występuje w kilku ostatnich wierszach: npm ERR! cb () nigdy nie został wywołany! npm ERR! kod nieokreślony npm ERR! cb () nigdy nie został wywołany! npm ERR! nie OK kod 1! Instalacja nie powiodła się - zależność produkcji z npm! Push Heroku odrzucony, nie udało się skompilować aplikacji Node.js

To git@heroku.com:still-chamber-1286.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:still-chamber-1286.git'

Wcześniej nie miałem problemów z przesłaniem kodu do Heroku; dopiero od poniedziałku miałem ten błąd.

Widziałem podobne posty w Internecie odnoszące się do nieco innych błędów, ale nie widziałem wcześniej żadnego ! [remote rejected] master -> master (pre-receive hook declined).

Louise K.
źródło
Otrzymuję ten sam błąd, gdy przesyłam aplikację węzła do heroku dzisiaj:! [remote rejected] master -> master (pre-receive hook declined)
smithclay,
6
O dziwo, dodanie "engines": { "node": "0.8.x" }do mojego package.jsonnaprawiło ten błąd dla mnie.
smithclay
Udało się, dziękuję :) Chociaż należy zauważyć, że już "engines": { "node": "0.6.x" }w package.json, po prostu musiał zmienić go od 0.6.xcelu0.8.x
Louise K
1
Obecnie istnieje otwarty problem dotyczący tego błędu z npm i węzłem 0.10.0: github.com/isaacs/npm/issues/2907
JCM
2
Naprawiłem to sam, po prostu aktualizując npm ( $> npm install -g npm), ponieważ otrzymywałem ostrzeżenia, że ​​pakiety i tak oczekują wyższej wersji w wynikach konsoli.
racl101

Odpowiedzi:

312

Jeśli masz npm w wersji 5 lub wyższej, spróbuj najpierw:

$ sudo npm cache verify

Inaczej:

$ sudo npm cache clean

Moje wersje węzła i npm to:

$ node -v
v0.10.0

$ npm -v
1.2.14

https://docs.npmjs.com/cli/cache

Alberto
źródło
1
Obejście pomogło, ale za ten sam błąd, ale podczas instalacji modułu (grunt-contrib-yuidoc), dzięki.
Wiseman
Czy to nie jest rozwiązanie dla lokalnych uruchomień, a nie na Heroku? Dla Heroku to rozwiązanie wydaje się nie działać.
Valentyn Shybanov,
10
Ugh. Próbowałem zaproponować edycję tej odpowiedzi, ale najwyraźniej musi ona mieć co najmniej 6 znaków. W każdym razie, powinno być cleannie clear. npmjs.org/doc/cache.html
Tyler Hayes
Dostałem ten błąd po zbudowaniu natywnego rozszerzenia postgres, rm -fr $ HOME / .node-gyp załatwi sprawę.
Giovanni Toraldo
2
npm cache cleandziała dla mnie, ponieważ ciągle przełączam się między różnymi rejestrami npm.
qmmr
141

Dla każdego, kto wejdzie na tę stronę około 29 września 2013 r., W Node.js 0.10.19 jest zamknięty błąd, który powoduje ten błąd.

https://github.com/isaacs/npm/issues/2907#issuecomment-15215278 https://github.com/joyent/node/issues/6263#issuecomment-25113849

Jeśli jesteś na Heroku, powinieneś zaktualizować do wersji 0.10.20

"engines": {
    "node": "0.10.20"
}
Mark Percival
źródło
40
29 września? Czy to błąd z przyszłości? :) Dzięki za rozwiązanie!
JBCP
1
Dzięki! Zdecydowanie tego szukałem
Kyle Hotchkiss,
3
Wysłałeś z przyszłości! To był naprawdę poważny błąd. ; /
juanpaco
2
45 głosów pozytywnych (w momencie pisania tego tekstu) w ciągu 22 godzin :) Genialne z was, że zapobiegawczo opublikowaliście nową i aktualną odpowiedź na stare, ale podobne pytanie. Internet kołysze!
meetamit
1
Miałem ten błąd wczoraj i ponownie zainstalowałem węzeł dzisiaj (1 października) i znów działa - wydaje się, że został naprawiony w wersji 10.10.20. Dzięki za ten wątek zaoszczędził mi dużo czasu.
dirkk0
39

próbować

sudo npm cache clean --force
SanS
źródło
28

Spróbuj wyczyścić pamięć podręczną npm:

sudo npm cache clean --force
Strefa Appsol
źródło
23

Czy masz określoną wersję "npm"określoną "engines"w swoim package.json? Wygląda na to, że NPM v1.2.15 rozwiązało problem (a Heroku ma dostępne). Miałem ten sam problem "1.1.x".

Aidan Feldman
źródło
Fantastyczny. To mnie na pewno wkurzyło. Określono moją wersję npm i działała jak urok.
Eric H.
20
JEŚLI JESTEŚ KIEDYKOLWIEK W AUSTIN, TX, PROSZĘ POZWÓL MI KUPIĆ PIZZĘ! Przepraszam za wszystkie czapki, ale oddaje mój obecny stan radości w wyniku twojej odpowiedzi. Nigdy bym nie podejrzewał, że przyczyną jest posiadanie specyfikacji wersji dla NPM. Aidan, mam nadzieję, że masz cudowny dzień.
juanpaco,
1
@juanpaco, jesteś zbyt zabawny.
Daniel
Tak, usuwam ten arkusz „silników” z package.json i to działa :)
Kamil Kiełczewski,
23

WAŻNY! Poniższe rozwiązanie jest teraz uważane za niestabilne i powinieneś zamiast tego używać Node Version Management: Node Version Manager na Github . David Walsh ma również dobre wprowadzenie do NVM . NVM działa pięknie i używam go do zarządzania starszymi projektami WordPress od kilku lat.


Nie używaj tego - używaj NVM

Właśnie miałem ten problem podczas próby zainstalowania motywu Sage dla WordPress. Gdy uruchomiłem npm installw katalogu motywów, nie powiodło się.

Patrząc na zależności package.json, zauważyłem, że silnik, który uruchomiłem dla Węzła, był nieaktualny. Uruchomienie node -vw wierszu poleceń pokazało, że korzystam z wersji 0.10.9, a najnowsza wersja Sage wymaga> = 0.12.0

Oto poprawka na to. Te kroki pochodzą z bloga Davida Walsha

  1. Wyczyść pamięć podręczną npm: sudo npm cache clean -f
  2. Zainstaluj najnowszą wersję pomocnika węzła: sudo npm install -g n
  3. Poinformuj pomocnika (n), aby zainstalował najnowszą stabilną wersję Węzła: sudo n stable

Powinieneś wtedy wyświetlić ekran postępu, po którym będziesz na bieżąco.

Kiedy npm installpo tym uruchomiłem , wszystko działało dobrze i mogłem uruchomić, gulpaby zbudować distkatalog początkowy .

raffjones
źródło
Krok 2 powinien być sudo npm install -g nrównież.
Mauro Vanetti,
Według linku źródłowego to rozwiązanie jest „niestabilne”, a Menedżer wersji Node jest lepszy github.com/nvm-sh/nvm/blob/master/README.md
PJ Brunet
Dzięki za heads-up - odpowiednio zaktualizuję post
raffjones
14

Jeśli zaktualizowałeś kątowe cli, npm, node, nie musisz nic więcej robić. Po prostu uruchom poniższe polecenie, aby rozwiązać problem. To polecenie rozwiązuje również problem „nieoczekiwanego końca linii”.

npm install --no-package-lock
Chetan Shah
źródło
uruchom to polecenie w tym samym obszarze roboczym, w którym pracujesz.
chetan shah
14
  • Biegać npm install -g npm
  • Następnie uruchomić npm install
Duch rozwiązania
źródło
11

Aktualizowanie NodeJS https://nodejs.org/en/ Naprawiono mój problem.

Uruchom npm install -g npminpm cache clean

Srinivas
źródło
Tak. Właściwie to dla mnie tak działało. Najpierw zaktualizowałem mój Węzeł i uruchomiłem te polecenia, które działały. Może być innym sposobem, aby to zadziałało. Mam nadzieję, że to komuś pomoże.
Srinivas
1
Dziękuję bardzo :) To powinna być zaakceptowana odpowiedź
Solution Spirit
9

Miałem ten sam problem podczas instalacji ionic@beta. Próbowałem następujących elementów i one mi nie pomogły.

  1. npm cache clean
  2. Ręcznie usuń pamięć podręczną z %temp%\npm-*
  3. Wiersz polecenia „Uruchom jako administrator”

Rozwiązałem problem, instalując node-v5.10.1-x64.msi (poprzednia wersja to node-v5.9.0-x64.msi) i uruchomiłem npm cache cleanprzed instalacjąionic@beta

Zadziałało!

Sen Jacob
źródło
2
To zadziałało dla mnie, dzięki! Musi być coś nie tak z 5.9.x.
Nick George
Węzeł instalacyjny mógł zainstalować nowy npm, co może być przyczyną tej pracy jako poprawki.
mikemaccana
8

Miałem ten sam problem z NPM w wersji 1.3.11 i rozwiązałem go po prostu wielokrotnie uruchamiając dokładnie to samo polecenie (w moim przypadku „npm update -g”). Błąd pojawiał się dla innego pakietu przy każdym kolejnym uruchomieniu i ostatecznie wszystko zostało pomyślnie zaktualizowane.

Przynajmniej dla mnie wygląda na to, że przyczyną był problem z siecią (uszkodzone pobieranie). Pojawił się również błąd dotyczący nieprawidłowego pakietu, który udało mi się rozwiązać, usuwając wszystkie wystąpienia „tmp.tgz”.

Edycja: (Prawdopodobnie niezwiązany, ale na wypadek, gdyby komukolwiek to pomogło: korzystałem z systemu Windows i uruchomiłem wiersz polecenia jako administrator po otrzymaniu błędu początkowego).

Sven Viking
źródło
1
Od czasu opublikowania tego, widziałem wiele osób mówiących, że mają takie same doświadczenia na Unixie i Macu (wiele prób w końcu omija problem). Nie wiem, czy problem dotyczy sieci, czy nie, ale wydaje się powszechny.
Sven Viking
Najwyraźniej ten błąd został już naprawiony w v0.10.20: blog.nodejs.org/2013/09/30/node-v0-10-20-stable
Sven Viking
8

Dla mnie żadne z powyższych rozwiązań nie działało (ponowna instalacja, czyszczenie pamięci podręcznej, folderów itp.).

Mój problem został rozwiązany dzięki:

npm config set registry https://registry.npmjs.org/
Bubiec
źródło
5

sudo npm cache cleannie wyszło mi. Aktualizacja do najnowszej wersji węzła pomaga.

Miałem węzeł wer. 5.91 i zaktualizowałem do wer

h - n
źródło
1
wygląda na to, że powracał problem, miałem ten sam problem z 10.15.0 i 11.6.0 i musiałem obniżyć wersję 9.11.2, to działało.
CsBalazsHungary
5

Dla mnie na npm 6.4.0i węźle 10.9.0żadna z odpowiedzi nie zadziałała. Ponownie zainstalowany węzeł, npm, wyczyszczona pamięć podręczna, usunięte foldery ...

Po pewnym debugowaniu okazało się, że npm linkdwa z moich rozwijanych modułów łączą się ze sobą. Po usunięciu i ponownym utworzeniu linków mogłem przywrócić to do poprzedniego stanu.

Flion
źródło
4

Wygląda na to, że niektóre wersje zależności mogą powodować ten problem. Na przykład gulp-uglifycss 1.0.7 ma ten problem (patrz https://github.com/rezzza/gulp-uglifycss/issues/15 ).

Jeśli zezwalasz na główne lub drobne aktualizacje wersji na swoim packages.jsonza pomocą ^lub ~, usuń te znaki z pliku i wypróbuj inną npm install. Jeśli to zadziała w tym czasie, wszystko będzie w porządku, gdy będziesz się dobrze bawić, zawężając paczkę, która powoduje problem.

Robert Johnson
źródło
4

Właśnie globalnie zainstalowałem najnowszą wersję NPM i zadziałała dla mnie. Chyba wyczyszczenie pamięci podręcznej npm jest opcjonalne.

npm install -g npm
Akash Tantri
źródło
3

Miałem ten sam problem podczas próby zainstalowania narzędzi FireBase na moim laptopie z systemem Windows. tak to rozwiązałem.

  1. Pobrałem kaspersky i zainstalowałem go. następnie wyłączyłem bezpieczne połączenia kaspersky
  2. otworzyłem cmd i uruchomiłem to polecenie npm cache clean --force
  3. następnie uruchom to polecenie npm install npm@latest -g
  4. następnie uruchom polecenie firebase cli npm install -g firebase-tools
Benja
źródło
w tym poleceniu npm cache clean --force --force pomógł wyczyścić pamięć podręczną
WasiF
@Benja - Kaspersky jest antywirusem i nie ma nic wspólnego z instalacją ani problemami z NPM. jeśli masz z tym problemy, maksymalnie może to dotyczyć ustawień
serwera
3

Sugeruję: Przełącz na Przędzę! - Yarn to menedżer pakietów, który używa tego samego package.jsonpliku i node_modulesfolderu co npm.

Z npm miałem ten sam problem: przy instalacji CentOS 6 ERR cb() never calledwielokrotnie pojawiał się błąd i nie mogłem znaleźć sposobu, aby npm niezawodnie ukończył instalację niektórych pakietów (jak webpackna przykład). - Przędza działa bezbłędnie, nawet na niestabilnych połączeniach sieciowych.

Migracja do przędzy jest łatwa. Większość podkomend jest taka sama. Mają dobry przewodnik migracji . Przeczytaj na końcu przydatne porównanie poleceń CLI na końcu.

halloleo
źródło
Często miałem problemy z npm installkontenerem Docker (zwykle działającym na hoście Ubuntu). yarn installodblokował mnie w dwóch różnych projektach, gdy npm installzawiódł! Chciałbym wiedzieć, dlaczego jednak ...
Jamie Birch
Tak, mogę potwierdzić, że nie miałem problemów z Yarn. Niestety npm jest obecnie gównem. Generowanie pliku blokady pakietu jest przerywane w niektórych przypadkowych momentach. Nic takiego się nie dzieje w Przędzy. Plik yarn.lock jest zawsze w porządku
Nickon
3

Dla użytkowników Ubuntu podana poniżej metoda działała dla mnie.

Najpierw wykonaj następujące czynności: sudo npm cache verify

Następnie przejdź do strony głównej ->. Npm i usuń folder _cache, wykonując: sudo rm -rf _cacache/

idź i sprawdź, może znalazłeś rozwiązanie.

Jaymeen_JK
źródło
3

ZAKTUALIZOWANY: Problem jest dość powszechny w tym przypadku, jest to nowy pakiet npm cache verifynaprawczy, do którego będziesz gotowy!

James Christian Kaguo
źródło
2

Problem pojawia się w miejscu, w którym pozostawił mdp, z węzłem 0.10.19 i npm 1.3.11

Znalazłem najłatwiejszy sposób zarządzania obniżeniem wersji, aby płynnie działać jako NVM , oto fajny samouczek, jak z niego korzystać. Zmodyfikowałem środowisko serwera i poprawnie obniżyłem wersję z 0.10.19 do 0.10.18 w ciągu kilku minut dzięki NVM.

Joe Minichino
źródło
NVM jest bardzo przydatny. Miałem tak wiele problemów z konfliktami wersji, które zostały rozwiązane tylko poprzez instalację i używanie NVM. To jest zajebiste! Dzięki.
Ken J
2

Napotkałem ten sam problem na komputerze Mac i wypróbowałem wszystkie metody, które mogę znaleźć: uaktualnij do najnowszego węzła, wyczyść pamięć podręczną, usuń katalog _node_mudules_, ale wszystkie nie działają. W końcu uwierzyłem, że to problem środowiska Node, więc zdegradowałem swój Węzeł do starej wersji LTS 6.14.1, a następnie problem zniknął. Tym się właśnie zajmuję:

  1. Zainstaluj NVM (aby uzyskać zupełnie nowe izolowane środowisko węzłowe, lepiej użyj NVM do zarządzania wieloma środowiskami węzłów, przejdź tutaj, aby uzyskać szczegółowe informacje)

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

  2. Zainstaluj Node.js 6.14.1

    nvm install 6.14.1

  3. Przejdź do określonego środowiska węzła, które instalujesz powyżej

    nvm use 6.14.1

  4. Zainstaluj aplikację Create-React

    npm install -g create-react-app

  5. Utwórz aplikację reagującą

    create-react-app appname

lengxuehx
źródło
2

npm install spowodowałoby:

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

W moim przypadku ten błąd zaczęło się dziać, kiedy uaktualniony do wersji node.js 8.11.1. Wcześniej używano wersji Node.js 6.12.xi wersji NPM 5.8.0.

Ponadto moje skrypty testowe nie mogłyby znaleźć AVA:

sh: ava: command not found
npm ERR! Test failed.  See above for more details.

Rozwiązaniem było obniżenie poziomu NPM do 5.7.1

rafaCode
źródło
2

[Działa] spróbuj npm config delete https-proxy

byłoby w konflikcie z serwerem proxy.

KrtkNyk
źródło
Jesteś ratownikiem życia. Dziękuję
amit gupta
2

Dla każdego, kto niedawno zaktualizował wersję z 6.x do 6.7.0.

Usunięcie /Users/{YOUR USERNAME}/.npmfolderu rozwiązało moje problemy z npm install.

Uruchomiłem także niektóre z tych poleceń sugerowanych przez https://npm.community/t/crash-npm-err-cb-never-called/858/93?u=jasonfoglia

sudo npm cache clean -f
sudo npm install -g n

Ale nie jestem pewien, co faktycznie działało, dopóki nie usunąłem folderu. Jeśli więc napotkasz ten problem i po prostu usuniesz folder .npm naprawiający problem, zwróć uwagę na to w komentarzach.

Jason Foglia
źródło
2

Ja też dzisiaj napotkałem ten sam problem, ponieważ zmuszałem się do zatrzymania pobierania pakietu npm pomiędzy z powodu problemów z Internetem.

Próbowałem różnych rzeczy, takich jak

  1. Uruchamianie sudo npm cache clean -f - które nie działało zgodnie z oczekiwaniami
  2. Wyczyść węzeł odinstalowujący i zainstaluj go ponownie - który również nie działał

W końcu próbowałem usunąć folder zawierający pamięć podręczną npm, która była przyczyną problemu. Uruchomiłem następujące polecenie,

sudo rm -rf /Users/{user_system_user}/.npm/

Potem próbowałem zainstalować pakiet, który utknął i wszystko działało jak urok.

PS: zastąp {user_sytem_user} zgodnie z bieżącym użytkownikiem twojego systemu.

Sulokit
źródło
Myślę, że dzięki najnowszym wersjom npm twoje rozwiązanie jest jedynym, które działa.
Jorge Valvert,
2

Miałem cb() never called!błąd i żadna z odpowiedzi tutaj nie zadziałała bezpośrednio. Uruchomiłem Węzeł v8.11.2i musiałem ręcznie usunąć package-lock.jsonplik, aby dostać się gdziekolwiek. Po wykonaniu tej czynności sprawdziłem, npm cache verifyco zalecają niektóre odpowiedzi. Następnie uruchomienie npm iprzyniosło następujący wynik:

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN securities-stub@1.0.0 No description
npm WARN securities-stub@1.0.0 No repository field.

up to date in 5.118s
Tim Biegeleisen
źródło
1
brew uninstall node
cd /usr/local
git checkout f7bbdcc /usr/local/Library/Formula/node.rb
brew install node

Znajdź inne wersje, takie jak:

brew versions node
Alex V.
źródło
1

Czy npm install npm@latest -gzaktualizować npm do najnowszej wersji. To rozwiązało problem. Zrobiłem npm cache cleanpierwszy

Sukhdeep Singh
źródło
1

W moim przypadku nie mogłem zainstalować wtyczki VueJS i musiałem:

Zmiana własności plików:

sudo chown -R $ (whoami) ~ / .npm

sudo chown -R $ (whoami) / usr / local / lib

sudo chown -R $ (whoami) / usr / local / bin

A potem upewnij się, że masz najnowszą wersję npm:

npm install -g npm @ najpóźniej

Następnie zainstalowałem moją wtyczkę i w twoim przypadku prawdopodobnie twoje polecenie nie jest odczytywane.

FBC
źródło