El nombre del intérprete NodeJS ( node
) en Ubuntu ha sido renombrado nodejs
debido 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 node
en/usr/bin
. Sin embargo, es una especie de truco.