your usr update the such please nodejs node latest instalar hat existe err directorio archivo node.js ubuntu gruntjs npm-install node-modules

node.js - update - No se pueden instalar NodeJs:/usr/bin/env: nodo: no existe tal archivo o directorio



install node js linux red hat (15)

Creo que deberías actualizar la última versión del nodo

sudo npm cache clean -f sudo npm install -g n sudo n stable

Estoy intentando instalar nodeJs en mi Ubuntu 14.04 para poder usar GruntJs.

He leído sobre la forma diferente de hacerlo de Ubuntu ( issues? ), Así que esto es lo que he hecho para instalarlo:

sudo apt-get install npm sudo npm install -g grunt-cli

Escribiendo gruñido después de que tengo el error:

/usr/bin/env: node: No such file or directory

Así que, he intentado:

curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs sudo apt-get update

Y volviendo a intentarlo, y aún recibiendo el error, lo he intentado:

sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/ sudo apt-get install -y nodejs

Tengo este mensaje:

nodejs is already the newest version. 0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

Intenté una limpieza por si acaso:

sudo apt-get autoremove

Pero no, el error sigue ahí: cuando escribo grunt todavía obtengo /usr/bin/env: node: No such file or directory existe /usr/bin/env: node: No such file or directory

¿Qué tengo que hacer?


Cuando estaba usando Gulp recibí este error.

~$ gulp

/ usr / bin / env: ''nodo'': no ​​existe tal archivo o directorio

Esto se eliminó ejecutando el siguiente comando que debe tener en cuenta que el directorio / usr / bin tiene todos los permisos.

~$ ln -s /usr/bin/nodejs /usr/bin/node

esto funciona para mi ..


Dependiendo de cómo instaló su nodo, la mayoría de las veces podría no estar en / usr / bin /, en mi caso fue que usé nvm para instalar, así que mi nodo estaba en ./nvm/versions.

Usando este comando, which node encontré en la ruta, pero para facilitar el trabajo, puede ejecutar este comando.

nodepath=$(which node); sudo ln -s $nodepath /usr/bin/node

el comando anterior obtendrá la ubicación de su nodo y creará un enlace para usted.


Descubrí que esto suele ser un error de denominación errónea, si instala desde un administrador de paquetes, a su bin se le puede llamar nodejs, así que solo necesita un enlace simbólico.

ln -s /usr/bin/nodejs /usr/bin/node


El problema no es con la versión de nodo. En cambio, es la forma en que NodeJS se instala de forma predeterminada en Ubuntu. Al ejecutar una aplicación Node en Ubuntu, debe ejecutar nodejs somethign.js lugar de node something.js

Así que el nombre de la aplicación llamado en el terminal es nodejs y no node . Esta es la razón por la que se necesita un enlace simbólico para simplemente reenviar todos los comandos recibidos como node a nodejs .

ln -s /usr/bin/nodejs /usr/bin/node



Encontré la respuesta. Por si acaso ayuda a alguien, lo publico aquí:

Al hacer un enlace simbólico se resuelve el problema: ln -s /usr/bin/nodejs /usr/bin/node (Mis agradecimientos y +1 votos a bodokaiser ).

NOTA: Creo que esta publicación no es un duplicado exacto, porque esa publicación fue en cierto modo una pregunta de browserify.


Hay dos soluciones para esto:

a) Establezca su variable PATH para incluir "/ usr / local / bin"

export PATH="$PATH:/usr/local/bin"

b) Cree un enlace simbólico a "/ usr / bin" que ya está en su RUTA

ln -s /usr/bin/nodejs /usr/bin/node

Espero que ayude.


Mientras que ln -s es la solución obvia más fácil, una explicación:

Debido a un conflicto con otro paquete, el ejecutable de los repositorios de Ubuntu se llama nodejs en lugar de node. Tenga esto en cuenta mientras ejecuta el software.

Este consejo aparece cuando se instala sudo apt-get install nodejs .

Así que alguna otra herramienta conocida (no sé lo que hace. Aunque se conoce en los repositorios de ubuntu, no se instala de forma predeterminada en 16.04) ocupa ese espacio de nombres.

Hubiera sido bueno, si Ubuntu hubiera ofrecido un consejo sobre cómo solucionar esto ''limpiamente'', si no fuera por hacer lo que de otra manera haría el paquete. (una colisión sigue siendo una colisión ... si + cuando ocurriera)


Para mi caso el enlace NO funcionó como sigue

ln -s / usr / bin / nodejs / usr / bin / node

Pero puede abrir / usr / local / bin / lessc como root y cambiar la primera línea de node a nodejs.

- #! / usr / bin / env nodo

+ #! / usr / bin / env nodejs


Si puede acceder al nodo en el terminal ubuntu usando el comando nodejs, entonces este problema puede resolverse simplemente usando -creando un enlace simbólico de nodejs y node usando

ln -s /usr/bin/nodejs /usr/bin/node

y esto puede resolver el problema


Si ya tiene nodejs instalado (verifique con which nodejs ) y no desea instalar otro paquete, puede, como root:

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99


Simplemente cambie el nombre del comando o del archivo ln -s /usr/bin/nodejs /usr/bin/node con este comando


Solo haz

$ sudo apt-get install nodejs-legacy

Y empezará a funcionar.


sudo PATH="$PATH:/usr/local/bin" npm install -g <package-name>