Instalé en un XUbuntu 13.10 el software Node.js a través del administrador de paquetes:
xxx@xxx:/$ sudo apt-get install nodejs Todo parece estar bien, pero junto con el ejecutable nodejs , encontré un ejecutable js .
Ambos, si se llaman con la opción -v , muestran v0.10.15 y los he usado con éxito como intérprete de Javascript.
Mi pregunta es: ¿hay alguna diferencia entre el comando nodejs y el comando js ? ¿Es js solo un alias para el comando nodejs ?
Tiene que ver con /etc/alternatives , el mecanismo de alternativas de Ubuntu/Debian.
/usr/bin/js — es un enlace a/etc/alternatives/js — es un enlace a/usr/bin/node Por lo tanto, si tiene /usr/bin en su PATH , ejecutar js es exactamente lo mismo que ejecutar node (excepto que se deben atravesar dos enlaces simbólicos, lo que no es un costo significativo). El uso de js en scripts (por ejemplo) permitiría configurar el sistema para usar una alternativa a la versión de Node instalada, tal vez una versión diferente o una versión creada con alguna función experimental.
Puede obtener más información al respecto en la página man update-alternatives .
El comando js es un comando genérico que invoca cualquier intérprete de javascript instalado en el sistema.
El comando de node es un comando que invoca a node.js.
La diferencia será que si instala otro intérprete de javascript en su sistema, estará vinculado como /usr/bin/js, pero obviamente no estará en /usr/bin/node.