web-dev-qa-db-fra.com

"échec de l'extraction du message à partir du registre" lors de l'installation d'un module

Je ne peux installer aucun module de noeud à partir de npm.

npm install socket.io

La commande ci-dessus a pour résultat une sortie en dessous, il est impossible d'installer socket.io

npm http GET https://registry.npmjs.org/socket.io

npm ERR! Error: failed to fetch from registry: socket.io
npm ERR!     at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR!     at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR!     at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR!     at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>
npm ERR! 
npm ERR! System Linux 2.6.18-194.el5
npm ERR! command "node" "/opt/node0610/bin/npm" "install" "socket.io"
npm ERR! cwd /opt/node0610/lib/node_modules
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message failed to fetch from registry: socket.io
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

Ma version NPM est:

[applmgr@dev node_modules]$ npm --version
1.1.0-3

Ma version de NodeJS est:

[applmgr@dev node_modules]$ node --version
v0.6.10
349
Dexter

https://github.com/isaacs/npm/issues/2119

Je devais exécuter la commande ci-dessous:

npm config set registry http://registry.npmjs.org/

Cependant, npm installera les packages via une connexion HTTP non sécurisée. Si vous le pouvez, vous devriez rester avec

npm config set registry https://registry.npmjs.org/

au lieu d'installer sur HTTPS.

640
Dexter

J'ai eu ce problème avec npm v1.1.4 (et node v0.6.12), qui sont les versions du référentiel Ubuntu 12.04.

Il semble que la version de npm ne soit plus prise en charge, la mise à jour du nœud (et de npm avec celui-ci) a résolu le problème.

Commencez par désinstaller la version obsolète (facultatif, mais je pense que cela a résolu un problème que je rencontrais alors que les modules globaux n’étaient pas acheminés).

Sudo apt-get purge nodejs npm

Ensuite, activez le référentiel de nodesource et installez-le:

curl -sL https://deb.nodesource.com/setup | Sudo bash -
Sudo apt-get install -y nodejs

Note - le conseil précédent était d'utiliser le référentiel de Chris Lea, il l'a maintenant migré vers nodeource, voir:

De: ici

803
John Carter

Je suis sur Ubuntu. J'ai utilisé apt-get pour installer le noeud. Npm n'était pas inclus dans ce package, il devait donc être installé séparément. J'ai supposé que cela fonctionnerait, mais apparemment, la version de npm dans la distribution Ubuntu était obsolète.

Le noeud wiki a cette instruction:

L'obtention d'une version récente de Node ou l'installation sur des versions plus anciennes d'Ubuntu et d'autres distributions apt peut nécessiter quelques étapes supplémentaires. Exemple d'installation:

Sudo apt-get update
Sudo apt-get install -y python-software-properties python g++ make
Sudo add-apt-repository ppa:chris-lea/node.js
Sudo apt-get update
Sudo apt-get install nodejs

Après cela, npm était déjà inclus et fonctionnait parfaitement.

32
geon

Vous devez également installer software-properties-common pour que add-apt-repository fonctionne. alors il sera

Sudo apt-get purge nodejs npm
Sudo apt-get install -y python-software-properties python g++ make software-properties-common
Sudo add-apt-repository ppa:chris-lea/node.js
Sudo apt-get update
Sudo apt-get install nodejs
17
Tushar

Pour moi, c'est généralement un problème de proxy, et j'essaie tout:

npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false

npm config set proxy http://myusername:[email protected]:8080
npm config set https-proxy http://myusername:[email protected]:8080
set HTTPS_PROXY=http://myusername:[email protected]:8080
set HTTP_PROXY=http://myusername:[email protected]:8080
export HTTPS_PROXY=http://myusername:[email protected]:8080
export HTTP_PROXY=http://myusername:[email protected]:8080
export http_proxy=http://myusername:[email protected]:8080

npm --proxy http://myusername:[email protected]:8080 \
--without-ssl --insecure -g install
16
Katie

Une chose qui a fonctionné pour moi avec des erreurs d'installation npm aléatoires (où le paquet qui sort de l'erreur est différent à des moments différents (mais le même environnement) est d'utiliser ceci:

npm cache clean

Et puis répétez le processus. Ensuite, le processus semble se dérouler sans heurts et le problème et le message d'erreur réels apparaîtront. Vous pourrez y remédier, puis continuer.

Ceci est basé sur l’expérience de l’exécution de l’installation par npm de tout un ensemble de paquets sous une installation assez nue Ubuntu dans une instance Docker. Il existe parfois des outils de compilation/création absents d’Ubuntu et les erreurs npm n’indiquent pas le véritable problème tant que vous n'avez pas nettoyé le cache pour une raison quelconque.

8
Edward T

Ce problème est dû au protocole https, raison pour laquelle l’autre solution fonctionne (en basculant vers le protocole non sécurisé).

Pour moi, la meilleure solution consistait à compiler la dernière version de node, qui inclut npm

apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install
7
Venar303

Il y a maintenant instructions officielles de joyent (principal soutien de nodejs). Pour Ubuntu:

Sudo apt-get purge nodejs npm
curl -sL https://deb.nodesource.com/setup | Sudo bash -
Sudo apt-get install -y nodejs

Pour les autres distributions Unix, OSX et Windows, voir le lien. Notez que cela installera à la fois le noeud et npm.

6
Brian Low

La seule chose qui a fonctionné pour moi sur Elementary OS Luna, une Ubuntu Fork. Je suis sur l'architecture x86. J'ai essayé toutes les réponses ici, mais j'ai finalement décidé de l'installer à partir des sources.

Tout d'abord, assurez-vous qu'il n'est pas installé à l'aide du gestionnaire de paquets:

Sudo apt-get purge nodejs npm -y

Je suis allé à la page de téléchargement pour rechercher la dernière source et la télécharger, http://nodejs.org/download/ . Vous pouvez utiliser curl, wget ou votre navigateur pour l'obtenir:

wget http://nodejs.org/dist/v0.10.34/node-v0.10.34.tar.gz
tar -xvf node-v0.10.34.tar.gz 
cd node-v0.10.34
./configure
make
Sudo make install

La fabrication peut prendre un certain temps. Une fois terminé, node et npm devraient être installés et travailler dans votre répertoire/usr/local/bin, qui devrait déjà se trouver sur votre chemin. Vous devriez vérifier où il vit:

which npm node

J'ai également dû modifier les autorisations pour que cela fonctionne:

Sudo chown -R $USER /usr/local

Si cela n'a pas fonctionné, vérifiez votre chemin:

echo $PATH

Notez qu'en l'installant de cette manière, il ne sera pas géré par le gestionnaire de paquets d'apt-get. À votre santé!

5
radtek

Récemment, j'ai eu ce problème après la mise à niveau de node.js (et inévitablement de npm) vers la dernière version:

> npm --version < 2.0.0-alpha-5

Note: je n'ai pas demander pour une version instable, je viens de l'avoir après brew install npm sur OSX.

Le déclassement de npm a résolu le problème pour moi.

Le moyen le plus simple d’installer le npm stable est npm install -g npm, mais il peut ne pas fonctionner dans certaines circonstances et il peut être nécessaire de rétrograder node.js à ce moment-là.

2

La méthode ci-dessous a fonctionné pour moi, félicitations à l’utilisateur de github: midnightcodr

Assurez-vous de supprimer tous les packages nodejs/npm déjà installés.

Sudo apt-get purge nodejs

Sudo apt-get purge npm

Maintenant, installez Node js en utilisant la commande ci-dessous (Merci à midnightcodr sur github)

curl -L https://raw.github.com/midnightcodr/rpi_node_install/master/setup.sh | bash -s 0.10.24

Notez que vous pouvez appeler node avec commande node et non nodejs.

Une fois le noeud installé, installez npm

Sudo apt-get install npm
2

pour Raspberry Pi j'ai trouvé et modifié un solution j'ai trouvé
voici ce que j'ai couru

Sudo su -
cd /opt
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar xvzf node-v0.10.28-linux-arm-pi.tar.gz
ln -s node-v0.10.28-linux-arm-pi node
chmod a+rw /opt/node/lib/node_modules
chmod a+rw /opt/node/bin
echo 'PATH=$PATH:/opt/node/bin' > /etc/profile.d/node.sh

le seul mod que j'ai fait a été de changer tous les 10.25 en 10.28, qui était le dernier linux-arm-pi à l'époque

1
godzilla

Il se peut que le registre npm soit en panne à ce moment-là ou que votre connexion soit interrompue.

De toute façon, vous devriez mettre à niveau le noeud et npm.

Je recommanderais d'utiliser nave pour gérer vos environnements de nœuds.

https://npmjs.org/package/nave

Il vous permet d’installer facilement des versions et de passer rapidement d’une version à l’autre.

1
serby

La réponse de @frenchhere est la meilleure. Cependant, les versions de Node ont évolué constamment, et la gestion des versions s'est compliquée du fait de la réapparition de io.js. En suivant les étapes de sa réponse, vous obtiendrez Node version 0.10.25 - et non la version la plus récente.

Vous devez toujours purger tous les packages noeud/npm existants avec

Sudo apt-get purge nodejs npm

et ensuite aller voir la nodesource deb page d'installation à https://github.com/nodesource/distributions#debinstall .

Toutes les versions de Node.js sont listées sur la page ci-dessus avec les commandes Linux pour les installer. Et ces paquets fonctionneront sur à la fois Debian et Ubuntu .

P.S. Si vous voulez exécuter Node v4.4 ou supérieur sur Ubuntu Precise ou Debian Wheezy, vous devriez consulter informations sur l'exécution de distributions précédentes .

P.P.S. Si votre apt-get échoue , le script ne sera pas terminé (les références de Google ont échoué pour mon apt-get update). Vous devriez voir des messages concernant la clé de signature NodeSource ajoutée à votre trousseau et un message final vous indiquant de vous adresser à Run 'apt-get install nodejs' to install Node.js.

P.P.P.S. npm est installé avec le noeud. Une fois installé, vous pouvez mettre à jour le dernier npm avec Sudo npm install npm -g

0
timbo