Tengo dos máquinas Ubuntu 12.10: la máquina A es una VM VMware y la máquina B es una vieja computadora portátil Acer. En ambas máquinas, instalé el nodo usando apt-get. Sin embargo, la máquina A instala el binario principal como /usr/bin/node
y la máquina B como /usr/bin/nodejs
. Aquí hay algunos comportamientos que observé:
- Ambas máquinas vuelven
/usr/bin/node
en respuesta alwhich node
comando. Sin embargo, no existe dicho archivo en la máquina B. - La emisión del comando
node
funciona para la máquina A, no B. En B, tengo que usarnodejs
en su lugar. - En B, hay un binario llamado / sbin / node, A no lo tiene.
Estos comportamientos causan problemas de inconsistencia cuando se desarrollan en ambas máquinas. Por ahora, trabajé cambiando el nombre de los binarios en B como tal:
sudo mv /sbin/node /sbin/node-sbin
sudo ln -s /usr/bin/nodejs /usr/bin/node
¿Hay alguna manera de arreglar esto realmente, para que ese nodo se instale como en /usr/bin/node
lugar de /usr/bin/nodejs
?
actualización: instrucciones modificadas a continuación para usar el
nodejs-legacy
paquete. ( más información sobre el legado de nodos )Intente eliminar completamente el paquete de nodos en conflicto:
Esto me sucedió cuando instalé involuntariamente el
node
paquete non-node.js . Aunque lo hiceapt-get remove node
antes de instalar elnodejs
paquete correcto , supongo--purge
que se requiere el argumento.Información de fondo :
fuente
/usr/bin/node
en Ubuntu 13.10. Sin embargo, la respuesta de @ user229115 a continuación funciona.sudo apt-get install nodejs nodejs-legacy
le dará elnode
binario como node.js Pero si ya instaló elnode
(Programa de Nodo de Radio de Paquete Amateur) obviamente necesitará eliminarlo.nodejs-legacy
paquete funcionará.nodejs-lecacy
paquete, que puede ser solo un enlace simbólico alnodejs
ejecutable en realidad ...Desafortunadamente para mí, crear un enlace simbólico no funcionó. Sin embargo, lo que funcionó para mí fue crear un alias. En
~/.bashrc
o~/.bash_aliases
(si~/.bashrc
carga este archivo), simplemente agregue la siguiente línea:Reinicie su sesión de bash escribiendo
bash
en la consola y su alias ahora funcionará.fuente
source ~/.bashrc
para volver a cargar el archivo .bashrc (si desea evitar reiniciar el terminal) lea más ..hash node
invocación en sus terminales existentes, porque los shells modernos recuerdan la ubicación de los comandos que se han buscado previamente en PATH. Elhash
comando incorporado en tales shells les dice que rehagan la búsqueda y recuerden la nueva ubicación.Creo que esto es todo:
Usando alternativas de Debian.
fuente
Respuesta tardía, pero para información actualizada ...
Si instala node.js utilizando el método recomendado del archivo léame de instalación de github de nodo , sugiere seguir las instrucciones en el artículo del blog de nodeource , en lugar de instalarlo desde la fecha desactualizada apt-get repo, node.js debería ejecutarse usando el
node
comando, así como elnodejs
comando, sin tener que hacer un nuevo enlace simbólico.Este método del artículo es:
Tenga en cuenta que esto es para v0.12, que probablemente quedará desactualizado en un futuro no muy lejano.
Además, si está detrás de un proxy corporativo (como yo), deseará agregar la opción -E al comando sudo, para preservar los entornos necesarios para el proxy:
fuente
En ubuntu 14.04 tuve el mismo problema de nodo. No tenía trabajando "nodo", y trabajando "nodejs". Lo acabo de hacer
y justo después de eso, el nodo se estaba ejecutando y nodejs también se está ejecutando :) Soy nuevo en Linux y eso es un misterio para mí. Sin embargo, Bower está funcionando!
fuente
Mi escritorio es actualmente Ubuntu 15.10 AMD64, por lo que utilizaré la siguiente URL en mi ejemplo de instalación (nuevamente, las distribuciones varían):
Luego cambie el directorio a su directorio de descarga:
Desde su directorio de descargas, ejecute lo siguiente:
Confirme su instalación de node.js con lo siguiente:
árbitro. http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/
fuente
tar
comando necesitasudo
.