J'ai une application Node.js hébergée sur Heroku. Chaque fois que je fais un git Push heroku
j'obtiens l'erreur suivante:
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
> [email protected] 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
> [email protected] 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 [email protected]: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'
L'erreur est dans les dernières lignes: npm ERR! cb () n'a jamais appelé! npm ERR! pas ok code indéfini npm ERR! cb () n'a jamais appelé! npm ERR! pas ok le code 1! Impossible d'installer les dépendances --production avec npm! Heroku Push rejeté, échec de la compilation de l'application Node.js
To [email protected]: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'
Je n'ai eu aucun problème à transmettre mon code à Heroku auparavant; Ce n'est que depuis lundi que j'ai eu cette erreur.
J'ai vu des articles similaires sur le Web faisant référence à des erreurs légèrement différentes, mais je n'en ai jamais vu avec ! [remote rejected] master -> master (pre-receive hook declined)
.
Si vous avez npm version 5 ou supérieure, essayez ceci en premier:
$ Sudo npm cache verify
Autrement:
$ Sudo npm cache clean
Les versions de mon noeud et npm sont:
$ node -v
v0.10.0
$ npm -v
1.2.14
Pour tous ceux qui consultent cette page autour du 29 septembre 2013, il y a un bogue fermé dans Node.js 0.10.19 qui est à l'origine de cette erreur.
https://github.com/isaacs/npm/issues/2907#issuecomment-15215278https://github.com/joyent/node/issues/6263#issuecomment-25113849
Si vous êtes sur Heroku, vous devriez passer à 0.10.20
"engines": {
"node": "0.10.20"
}
essayer
Sudo npm cache clean --force
Avez-vous une version spécifique de "npm"
spécifiée sous "engines"
dans votre package.json
? Cela ressemble à NPM v1.2.15 résolu le problème (et Heroku a à sa disposition). J'avais le même problème avec "1.1.x"
.
Je viens d'avoir exactement ce problème lorsque j'essayais d'installer le thème Sage pour WordPress. Lorsque j'ai exécuté npm install
sur le répertoire du thème, cela a échoué.
En regardant dans les dépendances de package.json
, j'ai pu voir que le moteur pour lequel je tournais pour Node était obsolète. L'exécution de node -v
sur la ligne de commande a montré que j'étais sur la v0.10.9 et que la dernière version de Sage requiert> = 0.12.0.
Alors voici la solution pour cela. Ces étapes viennent de blog de David Walsh
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable
Vous devriez alors avoir un affichage de progression, après quoi vous serez à jour.
Lorsque j’ai exécuté npm install
après cela, tout a bien fonctionné et j’ai pu exécuter gulp
pour créer le répertoire initial dist
.
Si vous avez mis à jour angular cli, npm, node, vous n'avez rien d'autre à faire. Il suffit d’exécuter la commande ci-dessous pour résoudre le problème. Cette commande résout également le problème de "fin de ligne inattendue".
npm install --no-package-lock
Essayez de vider votre cache npm:
Sudo npm cache clean --force
Mise à jour de NodeJS https://nodejs.org/en/ Correction du problème.
Exécuter npm install -g npm
& npm cache clean
J'ai eu le même problème lors de l'installation de ionic@beta
. J'ai essayé les articles suivants et ils ne m'ont pas aidé.
npm cache clean
%temp%\npm-*
J'ai résolu le problème en installant node-v5.10.1-x64.msi (la version précédente était node-v5.9.0-x64.msi) et d'exécuter un npm cache clean
avant d'installer ionic@beta
.
Ça a marché!
J'ai eu le même problème avec NPM version 1.3.11 et je l'ai résolu simplement en réexécutant la même commande plusieurs fois ("npm update -g" dans mon cas). L'erreur est apparue pour un package différent à chaque exécution ultérieure et finalement, tout a été mis à jour avec succès.
Pour moi du moins, il semble que cela ait été causé par un problème de réseau (téléchargements corrompus). J'obtenais également une erreur concernant un package non valide, que j'ai pu résoudre en supprimant toutes les instances de "tmp.tgz".
Edit: (Probablement sans lien, mais au cas où cela pourrait aider quelqu'un: j’utilisais Windows et j’ai lancé une invite de commande en tant qu’administrateur après avoir reçu l’erreur initiale).
npm install -g npm
npm install
Sudo npm cache clean
n'a pas fonctionné pour moi. Mettre à jour à la dernière version de noeud aide.
J'avais noeud v.5.91 et mis à jour à v6.9.1
Pour moi sur npm 6.4.0
et sur le noeud 10.9.0
, aucune des réponses n'a fonctionné. Nœud réinstallé, npm, cache nettoyé, dossiers supprimés ...
Après quelques opérations de débogage, j’ai utilisé npm link
pour que deux de mes modules en cours de développement soient liés les uns aux autres. Une fois que j'ai supprimé et refait des liens, j'ai pu tout faire fonctionner à nouveau.
Il semble que certaines versions de dépendance puissent être à l'origine de ce problème. Par exemple, gulp-uglifycss 1.0.7 a ce problème (voir https://github.com/rezzza/gulp-uglifycss/issues/15 ).
Si vous autorisez les mises à jour de version majeure ou mineure dans votre packages.json
via ^
ou ~
, supprimez ces caractères dans le fichier et essayez un autre npm install
. Si cela fonctionne à ce moment-là, tout ira bien une fois que vous aurez eu le plaisir de déterminer le paquet à l'origine du problème.
Pour les utilisateurs Ubuntu, la méthode donnée ci-dessous a fonctionné pour moi.
Tout d'abord, effectuez ceci: Sudo npm cache verify
Ensuite, allez dans Accueil -> .npm et supprimez le dossier _cache en: Sudo rm -rf _cacache/
allez vérifier, vous avez peut-être trouvé la solution.
J’ai moi aussi fait face au même problème aujourd’hui en arrêtant de force le téléchargement du paquet npm pour des raisons liées à Internet.
J'ai essayé diverses choses comme
J'ai finalement essayé de supprimer le dossier contenant le cache npm à l'origine du problème. J'ai couru la commande suivante,
Sudo rm -rf /Users/{user_system_user}/.npm/
Ensuite, j'ai essayé d'installer le paquet bloqué et tout fonctionnait à merveille.
P.S: remplacez {user_sytem_user} en fonction de l’utilisateur actuel de votre système.
Je viens d'installer globalement la dernière version de NPM et cela a fonctionné pour moi. Je suppose que la suppression du cache npm est facultative.
npm install -g npm
J'ai eu le même problème en essayant d'installer firebase-tools sur mon ordinateur portable Windows. Voici comment je l'ai résolu.
npm cache clean --force
npm install npm@latest -g
npm install -g firebase-tools
Je suggère: Basculer vers le fil! - Fil est un gestionnaire de paquets qui utilise le même fichier package.json
et le même node_modules
dossier en tant que npm.
Avec npm, j’ai eu le même problème: lors d’une installation de CentOS 6, j’ai eu plusieurs fois l’erreur ERR cb() never called
et je n’ai pas trouvé le moyen de rendre npm fiable l’installation complète de certains paquets. (comme webpack
par exemple). - Le fil fonctionne parfaitement, même sur des connexions réseau instables.
La migration vers Yarn est facile. La plupart des sous-commandes sont les mêmes. Ils ont un bon Guide de migration . Lisez ce qui est pratique comparaison des commandes CLI à la fin.
J'ai rencontré le même problème sur mon Mac et j'ai essayé toutes les méthodes possibles: mise à niveau vers le dernier nœud, nettoyage du cache, suppression du répertoire _node_mudules_, mais toutes n'ont aucun effet. Finalement, j’ai pensé que c’était le problème de l’environnement Node; j’ai donc dégradé mon Node en une ancienne version LTS 6.14.1, puis le problème a disparu. C'est ce que je fais:
Installez la NVM (pour obtenir un nouvel environnement de nœud isolé, utilisez NVM pour gérer vos multiples environnements Node, accédez à ici pour plus de détails)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
Installez Node.js 6.14.1
nvm install 6.14.1
Basculez vers l'environnement Node spécifique que vous avez installé ci-dessus
nvm use 6.14.1
Installer create-react-app
npm install -g create-react-app
Créez votre application de réaction
create-react-app appname
npm install
aurait pour résultat:
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>
Dans mon cas, cette erreur a commencé à se produire lors de la mise à niveau vers Node.js version 8.11.1
. Auparavant, utilisait Node.js version 6.12.x
et NPM version 5.8.0
.
De plus, mes scripts de test ne trouveraient pas AVA:
sh: ava: command not found
npm ERR! Test failed. See above for more details.
La solution consistait à rétrograder NPM en 5.7.1
Reprenant le point où mdp est parti, le problème concerne les nœuds 0.10.19 et npm 1.3.11
J'ai trouvé le moyen le plus simple de gérer la rétrogradation pour que tout se passe bien NVM , ici est un bon tutoriel sur son utilisation. Mon environnement de serveur a été modifié et fonctionne correctement, passant de 0.10.19 à 0.10.18 en quelques minutes avec NVM.
[Works] essayez npm config delete https-proxy
il aurait été en conflit avec proxy.
Pour ceux qui ont récemment effectué une mise à niveau de la version 6.x à la version 6.7.0.
La suppression du dossier /Users/{YOUR USERNAME}/.npm
a résolu mes problèmes avec npm install
.
J'ai également exécuté certaines de ces commandes suggérées par https://npm.community/t/crash-npm-err-cb-never-called/858/93?u=jasonfoglia
Sudo npm cache clean -f
Sudo npm install -g n
Mais je ne suis pas sûr de ce qui a réellement fonctionné jusqu'à ce que je supprime le dossier. Donc, si vous rencontrez ce problème et supprimez simplement le dossier .npm corrigeant votre problème, veuillez le noter dans les commentaires.
brew uninstall node
cd /usr/local
git checkout f7bbdcc /usr/local/Library/Formula/node.rb
brew install node
Trouvez d'autres versions comme celle-ci:
brew versions node
Dans mon cas, je ne pouvais pas installer un plugin VueJS et je devais:
Changer la propriété des fichiers:
Sudo chown -R $ (whoami) ~/.npm
Sudo chown -R $ (whoami)/usr/local/lib
Sudo chown -R $ (whoami)/usr/local/bin
Et puis assurez-vous d’avoir le dernier NPM:
npm install -g npm @ dernière
Puis installé mon plugin et dans votre cas, probablement votre commande n'est pas en tête.
Faites npm install npm@latest -g
pour mettre à jour npm avec la dernière version. Cela a résolu le problème pour moi. J'ai fait npm cache clean
en premier
Je suis tombé sur ce problème lors de l’installation de packages locaux à partir de mon ordinateur.
J'avais déplacé les paquets locaux dans un autre dossier. Et puis quand j'ai voulu mettre à jour, j'ai commencé à avoir cette erreur.
Pour résoudre ce problème, j'ai supprimé tous les liens symboliques créés précédemment du dossier suivant:
C:\Users\<USERNAME>\AppData\Roaming\npm\node_modules
Après cela, je pourrais installer des paquets comme avant!
Exécutez la commande suivante qui a résolu mon problème --- npm install --no-package-lock
J'ai eu l'erreur cb() never called!
, et aucune des réponses ici ne fonctionnait directement pour moi. J'utilisais Node v8.11.2
et je devais supprimer manuellement le fichier package-lock.json
pour aller n'importe où. Après cela, j’ai lancé npm cache verify
en fonction des réponses données. Ensuite, l'exécution de npm i
a donné le résultat suivant:
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
up to date in 5.118s
Pour les utilisateurs de Mac (HighSierra), n’installez pas le noeud avec Brew. Ça va déconner avec npm. J'ai dû désinstaller noeud et installer à l'aide du paquet dans la source principale nodejs.org: https://nodejs.org/en/
Voici un guide simple qui n'utilise pas d'infusion: https://coolestguidesontheplanet.com/installing-node-js-on-macos/
Il semble que ce problème ne se produise pas avec une configuration spécifique ou une version de noeud. Nous avons fait l'expérience à plusieurs reprises lors du redéploiement et nous soupçonnons les serveurs npm de provoquer ce problème.
Réessayer plusieurs fois a finalement résolu le problème.
Vérifiez si vous avez versions multiples de la commande npm
dans votre variable de chemin d'accès système.
Dans mon cas, j'avais une version dans le répertoire d'installation Node et une version antérieure dans le répertoire d'installation npm globals
(appelé prefix
dans le fichier de configuration npm). Donc, j'ai vérifié npm config get prefix
pour l'emplacement et supprimé le lien et le dossier npm
de node_modules. (La suppression de l’autre peut également fonctionner, selon l’ordre de votre variable PATH.)
Il peut y avoir deux possibilités =>
Essayez de mettre à jour vos nœuds js et npm.
Problème de permission => a. Déplacez votre solution sur le lecteur c dans votre compte utilisateur respectif b. Vous devez exécuter bash ou cmd en tant qu'administrateur.
J'espère que cela résoudra votre problème