web-dev-qa-db-fra.com

Quelle est la différence entre la commande node vs nodejs dans le terminal?

J'ai node.js non taré du fichier tar donné sur nodejs.org, mais lorsque j'essaie d'exécuter mon programme js via la commande node, rien ne se passe, mais d'un autre côté, la commande nodejs s'exécute exécute le fichier.

Donc ma question est quelle est la différence entre la commande node et la commande nodejs as et cela affectera-t-il mes programmes comme i n'a pas été construit à partir du code source. Et i est la raison de cet écart.

29
Aditeya Pandey

Cela dépend fortement de nombreux facteurs. Cela dépend principalement de ce que sont node et nodejs dans votre Shell. Vous pouvez vérifier cela en utilisant type node/type nodejs et/ou which node/which nodejs (ou peut-être whereis). Cela aussi dépend du système d'exploitation et du shell.

Je suppose que which -a node donnera /usr/sbin/node qui est pas l'exécutable nodejs et donc pourquoi il n'exécute pas votre code de nœud. Sur mon système, c'est:

/usr/bin/node -> /etc/alternatives/node -> /usr/bin/nodejs

c'est-à-dire node n'est qu'un lien symbolique vers nodejs, qui est l'exécutable.

Vous pouvez également créer cet alias vous-même afin qu'il remplace tout ce que node est pour vous.

19
Explosion Pills

Certaines de ces réponses étaient difficiles à comprendre pour moi, alors je vais écrire la réponse qui m'aurait aidé.

node est quelque chose comme un programme de résolution de radiotélémétrie, ils se sont juste avérés le nom node en premier. nodejs est ce que vous recherchez. Assurez-vous donc:

apt-get install nodejs

puis, pour résoudre le problème de nommage boiteux, créez un lien symbolique. Un lien symbolique entre node et nodejs.

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

La première partie est l'emplacement du fichier d'origine, puis l'endroit où il doit être lié. Vous pouvez également créer un alias dans votre profil bash, ce qui est également assez simple.

11
Eric Prostko

Pour sûr, le package 'node' disponible n'est pas lié à nodejs.

Jetez un œil à ce nœud à partir d'ici:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

Il y a un conflit de dénomination avec le package de nœuds (Amateur Packet Radio Node Program), et le binaire nodejs a été renommé de node en nodejs. Vous devrez créer un lien symbolique/usr/bin/node dans/usr/bin/nodejs ou vous pouvez désinstaller le Packet Radio amateur Node Program pour éviter ce conflit.

Il semble donc que vous puissiez purger ce programme radio avec

dpkg --purge node

Et puis installez nodejs via l'une des manières courantes f.e. à partir de paquets deb précompilés disponibles comme ceci:

Sudo apt-get update
Sudo apt-get install -y python-software-properties python g++ make
Sudo add-apt-repository ppa:chris-lea/node.js
Sudo apt-get update
Sudo apt-get install nodejs

Mais nodejs se met à jour plus rapidement que les packages, donc après avoir obtenu n'importe quelle version de nodejs, il est plus efficace d'utiliser ce module pour gérer les versions de nodejs - https://github.com/visionmedia/ n

Au moins après quelques tests, cette solution me semble la plus appropriée pour mac os.

2