522 votes

Impossible d'installer des paquets en utilisant le gestionnaire de paquets node dans Ubuntu

Nom de l'interpréteur NodeJS( node ) sur Ubuntu a été renommé en nodejs en raison d'un conflit de nom avec un autre paquet. Voici ce que dit le readme. Debian dit :

Le nom amont de la commande de l'interpréteur Node.js est " node ". Dans Debian, la commande de l'interpréteur a été changée en " nodejs ".

Cela a été fait pour éviter une collision d'espace de noms : d'autres commandes utilisent le même nom en amont, comme ax25-node du paquet "node". du paquet "node".

Les scripts appelant Node.js comme une commande shell doivent être modifiés pour plutôt utiliser la commande "nodejs".

Cependant, l'utilisation de nodejs nuit à l'installation des paquets en utilisant npm . L'installation du paquet échoue avec l'erreur suivante :

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian

Comment faire comprendre à npm que nodejs est déjà installé sur le système mais que le nom de l'interpréteur est différent ?

29 votes

Vous pouvez essayer de ln -s nodejs node sur /usr/bin . Mais c'est un peu du bricolage.

1 votes

@vbo vous pouvez ajouter cela comme réponse - cela résout le problème !

2 votes

@HimelNagRana J'ai une autre réponse (meilleure, acceptée). Mon commentaire initial a également été transformé en réponse ( stackoverflow.com/a/21168305/539686 ).

1voto

Dinesh Jain Points 119

C'est que votre nœud n'est pas correctement installé, vous devez d'abord désinstaller le nœud puis le réinstaller. Pour installer le nœud, ceci peut vous aider http://array151.com/blog/nodejs-tutorial-and-set-up/

après quoi vous pourrez installer les paquets facilement. Pour installer les paquets, ceci peut vous aider

http://array151.com/blog/npm-node-package-manager/

0voto

Nitish Agarwal Points 388

Vous pouvez créer un lien ln -s nodejs nœud dans /usr/bin J'espère que cela résoudra votre problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X