Impossible de mettre à niveau npm du 1.4.28 au dernier (2.2)

J’utilise une version stable du noeud sur Ubuntu 14.04. (installé via PPA) Quand j’essayais de mettre à jour certains paquets comme yo, j’ai eu l’erreur ci-dessous:

npm ERR! notsup Unsupported npm ERR! notsup Not compatible with your version of node/npm: [email protected] npm ERR! notsup Required: {"node":">=0.10.0","npm":">=2.1.0"} npm ERR! notsup Actual: {"npm":"1.4.28","node":"0.10.35"} npm ERR! System Linux 3.13.0-32-generic npm ERR! command "/usr/bin/node" "/usr/bin/npm" "update" "-g" npm ERR! cwd /home/ekrem npm ERR! node -v v0.10.35 npm ERR! npm -v 1.4.28 npm ERR! code ENOTSUP npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/ekrem/npm-debug.log npm ERR! not ok code 0 

Quand je frappe (sudo) npm update -g npm , voici le résultat:

 [email protected] /home/ekrem/.node/lib/node_modules/ionic/node_modules/npm 

Après avoir frappé npm -v

 1.4.28 

J’ai également effacé tous les fichiers sous ~/.npm , effacé le cache, réinstallé les composants dont j’avais besoin mais rien ne change. En outre;

 ➜ ~ which node /usr/bin/node ➜ ~ which npm /usr/bin/npm ➜ ~ less ~/.npmrc prefix = ~/.node 

J’ai vérifié des problèmes similaires sur le net mais il n’ya rien de proche des miens.

METTRE À JOUR:

J’ai enlevé nodejs; fichiers effacés sous ~/.node & ~/.npm (comme suggéré par @johns) installés en utilisant la première méthode des instructions ici . Voici les sorties mises à jour:

 ➜ node -v v0.10.35 ➜ npm -v 1.4.28 ➜ which node /home/ekrem/local/bin/node ➜ which npm /home/ekrem/local/bin/npm ➜ npm update -g npm # returns nothing ➜ ~ npm config get prefix /home/ekrem/.node 

Je faisais face à un problème similaire et j’ai trouvé ce post. La manière dont npm fonctionne après plusieurs tentatives consiste à supprimer tous les dossiers npm ‘node_module’ et à supprimer tous les fichiers de configuration npm, en particulier le fichier .npmrc de votre répertoire personnel.

Puis j’ai couru ‘sudo apt-get purge nodejs’.

Je suis allé à l’installateur et réinstallé nodejs en utilisant ce qui suit:

 'curl https://npmjs.org/install.sh | sh' 

alors couru:

 sudo apt-get install nodejs 

Finalement j’ai couru:

 npm update -g npm 

Il y avait des problèmes signalés à propos d’un bogue dans cette fonction de mise à jour, mais cela semblait fonctionner pour moi et je suis passé de 1.4 à 2.7.

J’espère que cela fera gagner du temps à quelqu’un.

Cette solution a fonctionné pour moi

Accédez à C: \ Program Files (x86) \ nodejs avec cmd.exe, puis exécutez l’installation sans -g:

 npm install npm 

Dans mon cas, je devais suivre les étapes suivantes pour passer de [email protected] à [email protected] (actuellement la plus récente):

curl -L https://www.npmjs.org/install.sh | sudo sh

Cette ligne peut déclencher des erreurs comme:

Error: EACCES, mkdir '/usr/lib/node_modules/npm'

Si oui, lancez simplement:

sudo rm -rf /usr/lib/node_modules/npm (ou le répertoire spécifié dans l’erreur)

De là:

sudo npm install -g [email protected]

Et maintenant le

npm -v

afficher avec succès une belle: 3.2.0

Il y a beaucoup de commentaires sur “npm update -g” qui sont cassés et pour ne pas l’utiliser pour le moment:

https://github.com/npm/npm/issues/6247

J’essayais de réinitialiser ou de réinstaller npm et de partir de là – une nouvelle réinstallation de npm devrait être relativement indolore et corriger les problèmes:

https://github.com/npm/npm/wiki/défilement#if-your-npm-is-broken

Une réponse similaire à @ThinkBonobo, mais tout ce que j’avais à faire était de lancer la mise à jour directement depuis npmjs.org. A partir d’une instance fraîchement provisionnée:

 $curl -sL https://deb.nodesource.com/setup | sudo bash - $sudo apt-get install nodejs $npm -v 1.4.28 $curl -L https://npmjs.org/install.sh | sudo sh $npm -v 2.7.3 

Aucune autre étape n’a été demandée.