El nombre del intérprete NodeJS ( node) en Ubuntu ha sido renombrado nodejsdebido a un conflicto de nombre con otro paquete. Esto es lo que el archivo Léame. Debian dice:
El nombre ascendente del comando de intérprete Node.js es "nodo". En Debian, el comando del intérprete se ha cambiado a "nodejs".
Esto se hizo para evitar una colisión del espacio de nombres: otros comandos usan el mismo nombre en su flujo ascendente, como ax25-node del paquete "node".
Las secuencias de comandos que llaman a Node.js como un comando de shell deben cambiarse para utilizar el comando "nodejs".
Sin embargo, usar nodejs dificulta la instalación de paquetes usando npm. La instalación del paquete falla con el siguiente error:
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
¿Cómo hago para que npm entienda que nodejs ya está instalado en el sistema pero que el nombre del intérprete es diferente?
ln -s nodejs nodeen/usr/bin. Sin embargo, es una especie de truco.