web-dev-qa-db-fra.com

Erreur "Aucun fichier ou répertoire de ce type" lors de l'utilisation de npm

J'ai installé node et npm en utilisant les instructions fournies ici

J'ai pu utiliser le noeud avec succès. Cependant, lorsque j'essaie d'installer le module de noeud "Formidable", j'obtiens le message d'erreur suivant:

$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory

Quand je fais un which npm j'obtiens le résultat suivant:

$which npm
/usr/local/bin/npm

Je n'ai aucune idée de ce qui ne va pas avec NPM ici - aucune idée sur la façon dont je peux résoudre ce problème?

33
user109187

Prenant @gertvdijk indice, j'ai désinstallé NPM en utilisant le script:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

(qui peut être trouvé ici )

Même après avoir effectué ce qui précède, j'ai eu une autre erreur:

$ npm install formidable  
bash: /usr/local/bin/npm: No such file or directory

J'ai donc lancé hash -r dans le terminal (conformément aux instructions fournies sous NPM ne s'exécutera pas après la mise à nivea ) et le tour est joué - cela a fonctionné. NPM fonctionne maintenant!

49
user109187

Ubuntu et certaines distributions Linux installent l'interpréteur du noeud sous la forme /usr/bin/nodejs et non pas /usr/local/bin/node.

Vous pouvez résoudre ce problème en installant le package nodejs-legacy qui crée un lien symbolique de /usr/bin/nodejs à /usr/bin/node.

Solution:

Sudo apt-get install nodejs-legacy

Références: nodejs-legacy package

11
Pac

Il semble que vous ayez installé une autre version Node à partir du code source quelque temps auparavant. Ceci est indiqué par le chemin /usr/local/bin où il semble être installé maintenant.

  1. Désinstallez celui que vous avez installé à partir des sources. Consultez les instructions fournies avec la source pour savoir comment procéder. Il n’existe pas de moyen unique de désinstaller les scripts logiciels installés qui ne fonctionnent pas avec la gestion des paquets de votre système.
  2. Installez les packages avec sont répertoriés dans les instructions que vous avez liées dans votre question.
  3. Vérifiez que which npm répertorie maintenant /usr/bin en tant que chemin d’installation.

En général, vous ne devriez jamais avoir à installer de paquet depuis le source. Et si vous le faites, soyez conscient des conséquences, car vous surchargez ici la gestion des paquets et vous allez vous perdre.

2
gertvdijk