Estoy tratando de instalar nodeJs en mi Ubuntu 14.04 con el fin de utilizar GruntJs.
He leído sobre Ubuntu manera diferente de hacerlo (problemas?), así que esto es lo que he hecho con el fin de instalarlo:
sudo apt-get install npm
sudo npm install -g grunt-cli
Escribiendo grunt después de que I've consiguió el error:
/usr/bin/env: node: No such file or directory
Entonces, yo'he probado:
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
sudo apt-get update
Y volviendo a intentarlo, y todavía recibiendo el error, he probado:
sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/
sudo apt-get install -y nodejs
Me sale este mensaje:
nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.
He intentado una limpieza por si acaso:
sudo apt-get autoremove
Pero no, el error sigue ahí: cuando escribo grunt me sigue saliendo /usr/bin/env: node: No such file or directory
.
¿Qué debo hacer?
Encontré la respuesta. Por si acaso ayuda a alguien, la publico aquí:
Haciendo un symlink se soluciona el problema: ln -s /usr/bin/nodejs /usr/bin/node
.
(Mi agradecimiento y voto +1 a bodokaiser).
NOTA: Creo que este post no es un duplicado exacto, porque ese post era un poco una pregunta de browserify.
El problema no es con la versión de Node. En cambio, es la forma en que NodeJS se instala por defecto en Ubuntu. Cuando se ejecuta una aplicación Node en Ubuntu hay que ejecutar nodejs algo.js
en lugar de node algo.js
.
Así que el nombre de la aplicación llamada en la terminal es nodejs
y no node
. Por eso es necesario un enlace simbólico para simplemente reenviar todos los comandos recibidos como node
a nodejs
.
ln -s /usr/bin/nodejs /usr/bin/node