Le nom de l'interpréteur NodeJS ( node
) sur Ubuntu a été renommé en nodejs
raison d'un conflit de nom avec un autre package. Voici ce que le readme. Debian dit:
Le nom en amont de la commande d'interpréteur Node.js est "node". Dans Debian, la commande interprète 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 dans leur amont, comme ax25-node du package "node".
Les scripts appelant Node.js en tant que commande shell doivent être modifiés pour utiliser à la place la commande "nodejs".
Cependant, l'utilisation de nodejs détruit l'installation de packages à l'aide de npm
. L'installation du package é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?
ln -s nodejs node
dans/usr/bin
. C'est une sorte de hack cependant.