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?
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!
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
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.
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.