tan - node.js server-side javascript virus
nodejs vs node en ubuntu 12.04 (20)
Instalé nodejs en Ubuntu de las instrucciones dadas here
Cuando escribo el node --version
en el terminal veo esto:
-bash: /usr/sbin/node: No such file or directory
Sin embargo, puedo ver el nodo en el directorio /usr/sbin/
.
Escribiendo npm --version
muestra 1.3.5
Escribiendo nodejs --version
muestra v0.10.15
Además, puedo ver el nodo en el directorio /usr/bin/
.
Entonces, ¿cómo puedo hacer que el node
funcione?
Además, si uso zsh en lugar de bash, el comando de node
funciona.
Será de ayuda para los principiantes absolutos.
Si bien, tiene la respuesta, solo desea señalar que el comando de node
(sin ningún parámetro) iniciará el nodo en el modo REPL read-eval-print-loop para ejecutar código javascript en bruto.
Otra forma de usar el comando de node
es proporcionándole un archivo js
como parámetro. Así es como lo usamos principalmente.
Administrador de versiones de nodos (nvm)
Si desea instalar varias versiones de nodejs y cambiar fácilmente entre ellas, sugeriría usar Node Version Manger . También resuelve el problema de nomenclatura ( node
vs nodejs
)
Es bastante simple:
Instale una versión de nodejs:
$ nvm install 4.4
Ahora tiene nodejs 4.4 además de la versión que ya estaba instalada y puede usar el comando de node
para alcanzar la versión recién instalada:
$ node -v // The new version added by nvm.
v4.4.5
$ nodejs -v // The OS version is untouched and still available.
v0.10.25
Puedes instalar más versiones de nodejs y cambiar fácilmente entre ellas:
$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)
Agregando a la respuesta correcta de @randunel (aún no puedo comentar sobre SO):
También tuve que vincular / usr / local / bin / node a / usr / bin / nodejs también.
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Aparentemente, esto estaba anulando el comando / usr / bin / node.
No tengo idea de cómo se estableció, pero espero que ayude a alguien más, ya que fue un dolor averiguar por qué lo anterior no funcionó para mí.
Al parecer, la solución difiere entre las versiones de Ubuntu. Los siguientes me han funcionado en Ubuntu 13.10:
sudo apt-get install nodejs-legacy
HTH
Editar: Regla de oro:
Si ha instalado nodejs
pero le falta el binario /usr/bin/node
, instale también nodejs-legacy
. Esto solo crea el softlink que falta.
De acuerdo con mis pruebas, Ubuntu 17.10 y versiones posteriores ya tienen el enlace de compatibilidad /usr/bin/node
en su lugar después de instalar nodejs-legacy
, por lo que no se necesita nodejs-legacy
en estas versiones, ya que ya no es necesario.
Creo que esto es:
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Usando las alternativas de Debian.
Debe crear manualmente un enlace simbólico /usr/bin/node
. Atajo para las cáscaras compatibles bash:
sudo ln -s `which nodejs` /usr/bin/node
O si usa shells no estándar, simplemente codifique la ruta que encuentre con which nodejs
:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Edición posterior
Encontré esta explicación en el enlace que publicaste.
Existe un conflicto de nombres con el paquete de nodo (Programa de nodo de radio de paquete de aficionados), y el binario de nodejs ha sido renombrado de nodo a nodejs. Necesitará el enlace simbólico / usr / bin / node a / usr / bin / nodejs o puede desinstalar el Programa de nodo de radio de paquete amateur para evitar ese conflicto.
Mas tarde mas tarde editar
Ha pasado un tiempo desde que respondí esto. Aunque la solución que publiqué aquí me funcionó varias veces, los usuarios informaron algunas soluciones más en los comentarios:
Desde @ usuario229115
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
De AskUbuntu (leftium usuario)
sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
Es opcional eliminar el nodo existente y los nodejs, pero tiene que hacer alternativamente instalar los últimos nodejs 7.x.
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
Esto me pasó a mí también.
node -v => 0.10.2
nodejs -v => 5.5.0
El problema era que había instalado un nodo desde la fuente hace algún tiempo. Corriendo
which node
Siempre apuntaba a esta instalación local. También,
echo NODE_PATH
Señaló la instalación local.
eliminar el directorio con la instalación de origen no ayudó. Simplemente rompió el comando del nodo. Al final, desarmar la variable de entorno NODE_PATH y purgar y luego reinstalar nodejs hicieron el truco.
unset NODE_PATH
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
Después de este,
node -v => 5.5.0
y la instalación de npm comenzó a funcionar para los paquetes en función de Nodo => 5.0.
Había creado un enlace simbólico, pero todavía no funcionaba.
Olvidé reiniciar mi terminal (mi conexión de masilla). Después de que haya funcionado sin el enlace simbólico :)
La mejor manera de instalar nodejs es a través de NVM (Node Version Manager)
Eliminar versiones anteriores:
$ sudo apt-get purge node
$ sudo apt autoremove
También elimine todos los node_modules con $ sudo rm -rf node_modules
en el directorio que contiene esta carpeta.
Nodo y Nodejs son técnicamente lo mismo. Sólo cambió el nombre.
Primero instale o actualice nvm
para ejecutar como root
$ sudo su
Entonces
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
O
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
Compruebe nvm a la ruta
$ source ~/.profile
$ nvm ls-remote
Si obtiene un error con respecto al listado, instale git.
$ sudo apt-get install git
Volver a ejecutar:
$ nvm ls-remote O
$ sudo nvm ls-remote
$ nvm install version-you-require
Versión de comprobación
# node --version
nvm use version-you-require
CORTESIA DE INFORMACION:
Puede ejecutar este comando para habilitar nodejs:
scl enable rh-nodejs8 bash
Nota: compruebe la versión de su nodo.
Fuente: https://developers.redhat.com/products/softwarecollections/hello-world/
Respuesta tardía, pero para información actualizada ...
Si instala node.js utilizando el método recomendado desde el léame de instalación de github del nodo , se sugiere seguir las instrucciones en el artículo del blog nodesource , en lugar de instalar desde el desactualizado apt-get repo. , así como el comando nodejs
, sin tener que hacer un nuevo enlace simbólico.
Este método del artículo es:
# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
# Then install with:
sudo apt-get install -y nodejs
Tenga en cuenta que esto es para v0.12, que probablemente se volverá obsoleto en un futuro no muy lejano.
Además, si está detrás de un proxy corporativo (como yo), querrá agregar la opción -E al comando sudo, para preservar las variables env necesarias para el proxy:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
Si está en una instancia de AWS EC2 ejecutando una instancia de Ubuntu (probada en Ubuntu 16.x), estos pasos podrían funcionar para usted:
sudo apt-get update sudo apt-get --purge remove node -y sudo apt-get --purge remove nodejs -y sudo apt-get --purge remove legacy-node -y sudo rm /usr/bin/node curl -sL https://deb.nodesource.com/setup_6.x | sudo bash - sudo apt-get install nodejs -y node -v
Si todo es correcto, el último comando tendrá una salida como: v6.xx
Si no es así, ejecute lo siguiente:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Esperemos que esto ayude. Me ayudó mágicamente (jeje).
Solo use NVM (Administrador de versiones de nodo) - https://github.com/creationix/nvm
Se ha convertido en el estándar para la gestión de Node.js.
Cuando necesites una nueva versión:
nvm install NEW_VER
nvm use XXX
Si algo sale mal siempre puedes volver con
nvm use OLD_VER
Soy nuevo en todo esto, pero para mí un simple alias funcionó:
alias node=''env NODE_NO_READLINE=1 rlwrap nodejs''
al menos para ejecutar cosas directamente en bash y ejecutar archivos .js.
Tengo el mismo problema en Ubuntu 14.04.
He instalado "nodejs" y está funcionando, pero solo si uso el comando "nodejs". Si trato de usar "nodo" no pasa nada.
Estoy arreglado este problema de la siguiente manera:
Instalar nodejs-legacy
sudo apt-get install nodejs-legacy
Después de eso, cuando escribo "nodo" en la línea de comandos, aparece un mensaje de error "/ usr / sbin / node: no existe ese archivo o directorio"
En segundo lugar, lo que hice, es un enlace simbólico en "nodejs":
sudo ln -s /usr/bin/nodejs /usr/sbin/node
Tuve el mismo enlace simbólico que me ayudó: sudo ln -s / usr / bin / nodejs / usr / bin / node después de eso sudo npm install -g phantomjs-prebuilt
fue sin problemas
¿Qué hay de usar las instrucciones oficiales del sitio nodejs :
Para v7:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
Para v6:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Para v4:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
Los he probado desde Windows bash (a través del subsistema para Linux - 14.04) y raspbian (basado en ARM Debian). Ejecutar sudo apt-get install -y nodejs
sin ejecutar primero el script de configuración resultará en que obtenga el nodo 0.10.
Si planea instalar módulos nativos de npm que requieren compilación, también ejecute:
sudo apt install -y build-essential
Nota: esta es la ruta recomendada para cualquier distribución basada en Debian en todas las arquitecturas.
https://nodejs.org/en/download/
Download .pkg file on your mac and install it. it directly works.
➜ ~ which node
/usr/local/bin/node
➜ ~ node --version
v10.11.0
➜ ~ which npm
/usr/local/bin/npm
➜ ~ npm --version
6.4.1