Подтвердить что ты не робот

В чем разница между командой node vs nodejs в терминале?

У меня есть untarred node.js из tar файла, указанного на nodejs.org, но когда я пытаюсь выполнить мою js-программу с помощью команды node, ничего не происходит, но, с другой стороны, запуск команд nodejs выполняется.

Итак, мой вопрос заключается в том, что разница между командой node и командой nodejs, и будет ли она влиять на мои программы, поскольку я не создавалась из исходного кода. И это причина этого расхождения.

4b9b3361

Ответ 1

Это сильно зависит от многих факторов. В основном, это зависит от того, что node и nodejs в вашей оболочке на самом деле. Вы можете проверить это, используя type node/type nodejs и/или which node/which nodejs (или, возможно, whereis). Это также зависит от ОС и оболочки.

Я предполагаю, что which -a node даст /usr/sbin/node, который не является исполняемым nodejs, и поэтому он не выполняет ваш код node. В моей системе это:

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

то есть. node - это просто символическая ссылка на nodejs, которая является исполняемым.

Вы также можете создать этот псевдоним самостоятельно, чтобы он переопределял все node для вас.

Ответ 2

Некоторые из этих ответов были трудно понять для меня, поэтому я напишу ответ, который помог бы мне.

node - это что-то вроде программы радиотелеметрических решений, они просто случайно зацепили имя node. nodejs - это то, что вам нужно. Так убедитесь, что вы:

apt-get install nodejs

то, чтобы исправить проблему с хромым именованием, создайте символическую ссылку. Символическая связь между node и nodejs.

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

Первая часть - это исходное размещение файлов, а затем, где она должна ссылаться. Вы также можете создать псевдоним в своем профиле bash, что также довольно легко.

Ответ 3

Конечно, доступный пакет 'node' не связан с nodejs.

Просто взгляните на это node отсюда:

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

Существует конфликт имен с пакетом node (программа любительского пакетного радио node), а двоичный файл nodejs был переименован из node в nodejs. Вам понадобится symlink/usr/bin/node в /usr/bin/nodejs или вы можете удалить программу Amateur Packet Radio node, чтобы избежать этого конфликта.

Итак, кажется, что вы можете очистить эту радиопрограмму с помощью

dpkg --purge node

И затем установите nodejs через один из общих способов f.e. из предварительно скомпилированных пакетов deb, доступных следующим образом:

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

Но nodejs обновляется быстрее, чем пакеты, поэтому после того, как вы получите любую доступную версию nodejs, более эффективно использовать этот модуль для управления версиями nodejs - https://github.com/visionmedia/n

По крайней мере после некоторых тестов это решение выглядит наиболее подходящим для меня в mac os.