web-dev-qa-db-fra.com

npm ERR cb () jamais appelé

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).

216
Louise K

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

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

258
Alberto

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"
}
140
Mark Percival

essayer

Sudo npm cache clean --force
29
SanS

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".

22
Aidan Feldman

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

  1. Effacez votre cache npm: Sudo npm cache clean -f
  2. Installez la dernière version du helper Node: Sudo npm install -g n
  3. Indiquez à l'aide (n) d'installer la dernière version stable de Node: 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.

21
raffjones

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
9
chetan shah

Essayez de vider votre cache npm:

Sudo npm cache clean --force
9
Appsol Zone

Mise à jour de NodeJS https://nodejs.org/en/ Correction du problème.

Exécuter npm install -g npm & npm cache clean

9
Srinivas

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é.

  1. npm cache clean
  2. Supprimer manuellement le cache de %temp%\npm-*
  3. Invite de commande "Exécuter en tant qu'administrateur"

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é!

9
Sen Jacob

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).

8
Sven Viking
  • Exécuter npm install -g npm
  • Puis lancez npm install
6
SHUJAT MUNAWAR

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

5
h--n

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.

4
Flion

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.

4
Robert Johnson

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.

3
Jaymeen_JK

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

  1. Exécution de Sudo npm cache clean -f - qui n'a pas fonctionné comme prévu
  2. Nettoyer et désinstaller le noeud, ce qui n'a pas fonctionné

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.

3
Sulokit

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
3
Akash Tantri

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.

  1. J'ai téléchargé Kaspersky et l'ai installé. alors j'ai désactivé les connexions sécurisées de Kaspersky
  2. j'ai ouvert cmd et exécuter cette commande npm cache clean --force
  3. je lance ensuite cette commande npm install npm@latest -g
  4. je lance ensuite la commande firebase cli npm install -g firebase-tools
3
Benja

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.

2
halloleo

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:

  1. 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

  2. Installez Node.js 6.14.1

    nvm install 6.14.1

  3. Basculez vers l'environnement Node spécifique que vous avez installé ci-dessus

    nvm use 6.14.1

  4. Installer create-react-app

    npm install -g create-react-app

  5. Créez votre application de réaction

    create-react-app appname

2
lengxuehx

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

2
rafaCode

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.

2
Joe Minichino

[Works] essayez npm config delete https-proxy

il aurait été en conflit avec proxy.

1
KrtkNyk

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.

1
Jason Foglia
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
1
Alex V

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.

1
FBC

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

1
Sukhdeep Singh

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!

0
Neil Patrao

Exécutez la commande suivante qui a résolu mon problème --- npm install --no-package-lock

0
Vishesh

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
0
Tim Biegeleisen

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/

0

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.

0
user1518458

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.)

0
Stefan

Il peut y avoir deux possibilités =>

  1. Essayez de mettre à jour vos nœuds js et npm.

  2. 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

0
sachin