Mam aplikację Node.js hostowaną na Heroku. Za każdym razem, gdy robię a, pojawia git push heroku
się 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)
.
! [remote rejected] master -> master (pre-receive hook declined)
"engines": { "node": "0.8.x" }
do mojegopackage.json
naprawiło ten błąd dla mnie."engines": { "node": "0.6.x" }
wpackage.json
, po prostu musiał zmienić go od0.6.x
celu0.8.x
$> npm install -g npm
), ponieważ otrzymywałem ostrzeżenia, że pakiety i tak oczekują wyższej wersji w wynikach konsoli.Odpowiedzi:
Jeśli masz npm w wersji 5 lub wyższej, spróbuj najpierw:
Inaczej:
Moje wersje węzła i npm to:
https://docs.npmjs.com/cli/cache
źródło
clean
nieclear
. npmjs.org/doc/cache.htmlnpm cache clean
działa dla mnie, ponieważ ciągle przełączam się między różnymi rejestrami npm.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
źródło
próbować
źródło
Spróbuj wyczyścić pamięć podręczną npm:
źródło
Czy masz określoną wersję
"npm"
określoną"engines"
w swoimpackage.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"
.źródło
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 install
w 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. Uruchomienienode -v
w wierszu poleceń pokazało, że korzystam z wersji 0.10.9, a najnowsza wersja Sage wymaga> = 0.12.0Oto poprawka na to. Te kroki pochodzą z bloga Davida Walsha
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Powinieneś wtedy wyświetlić ekran postępu, po którym będziesz na bieżąco.
Kiedy
npm install
po tym uruchomiłem , wszystko działało dobrze i mogłem uruchomić,gulp
aby zbudowaćdist
katalog początkowy .źródło
sudo npm install -g n
również.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”.
źródło
npm install -g npm
npm install
źródło
Aktualizowanie NodeJS https://nodejs.org/en/ Naprawiono mój problem.
Uruchom
npm install -g npm
inpm cache clean
źródło
Miałem ten sam problem podczas instalacji
ionic@beta
. Próbowałem następujących elementów i one mi nie pomogły.npm cache clean
%temp%\npm-*
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 clean
przed instalacjąionic@beta
Zadziałało!
źródło
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).
źródło
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:
źródło
sudo npm cache clean
nie wyszło mi. Aktualizacja do najnowszej wersji węzła pomaga.Miałem węzeł wer. 5.91 i zaktualizowałem do wer
źródło
Dla mnie na npm
6.4.0
i węźle10.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 link
dwa 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.źródło
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.json
za 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.źródło
Właśnie globalnie zainstalowałem najnowszą wersję NPM i zadziałała dla mnie. Chyba wyczyszczenie pamięci podręcznej npm jest opcjonalne.
źródło
Miałem ten sam problem podczas próby zainstalowania narzędzi FireBase na moim laptopie z systemem Windows. tak to rozwiązałem.
npm cache clean --force
npm install npm@latest -g
npm install -g firebase-tools
źródło
npm cache clean --force
--force pomógł wyczyścić pamięć podręcznąSugeruję: Przełącz na Przędzę! - Yarn to menedżer pakietów, który używa tego samego
package.json
pliku inode_modules
folderu co npm.Z npm miałem ten sam problem: przy instalacji CentOS 6
ERR cb() never called
wielokrotnie pojawiał się błąd i nie mogłem znaleźć sposobu, aby npm niezawodnie ukończył instalację niektórych pakietów (jakwebpack
na 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.
źródło
npm install
kontenerem Docker (zwykle działającym na hoście Ubuntu).yarn install
odblokował mnie w dwóch różnych projektach, gdynpm install
zawiódł! Chciałbym wiedzieć, dlaczego jednak ...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.
źródło
ZAKTUALIZOWANY: Problem jest dość powszechny w tym przypadku, jest to nowy pakiet
npm cache verify
naprawczy, do którego będziesz gotowy!źródło
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.
źródło
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ę:
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
Zainstaluj Node.js 6.14.1
nvm install 6.14.1
Przejdź do określonego środowiska węzła, które instalujesz powyżej
nvm use 6.14.1
Zainstaluj aplikację Create-React
npm install -g create-react-app
Utwórz aplikację reagującą
create-react-app appname
źródło
npm install
spowodowałoby: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.js6.12.x
i wersji NPM5.8.0
.Ponadto moje skrypty testowe nie mogłyby znaleźć AVA:
Rozwiązaniem było obniżenie poziomu NPM do
5.7.1
źródło
[Działa] spróbuj npm config delete https-proxy
byłoby w konflikcie z serwerem proxy.
źródło
Dla każdego, kto niedawno zaktualizował wersję z 6.x do 6.7.0.
Usunięcie
/Users/{YOUR USERNAME}/.npm
folderu rozwiązało moje problemy znpm 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
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.
źródło
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
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.
źródło
Miałem
cb() never called!
błąd i żadna z odpowiedzi tutaj nie zadziałała bezpośrednio. Uruchomiłem Węzełv8.11.2
i musiałem ręcznie usunąćpackage-lock.json
plik, aby dostać się gdziekolwiek. Po wykonaniu tej czynności sprawdziłem,npm cache verify
co zalecają niektóre odpowiedzi. Następnie uruchomienienpm i
przyniosło następujący wynik:źródło
Znajdź inne wersje, takie jak:
źródło
Czy
npm install npm@latest -g
zaktualizować npm do najnowszej wersji. To rozwiązało problem. Zrobiłemnpm cache clean
pierwszyźródło
W moim przypadku nie mogłem zainstalować wtyczki VueJS i musiałem:
Zmiana własności plików:
A potem upewnij się, że masz najnowszą wersję npm:
Następnie zainstalowałem moją wtyczkę i w twoim przypadku prawdopodobnie twoje polecenie nie jest odczytywane.
źródło