У меня есть две машины Ubuntu 12.10: машина A - это VMWare VM, а машина B - и старый ноутбук Acer. На обеих машинах я установил узел, используя apt-get. Однако машина A устанавливает основной двоичный файл as /usr/bin/node
и машина B as /usr/bin/nodejs
. Вот некоторые виды поведения, которые я наблюдал:
- Обе машины возвращаются
/usr/bin/node
в ответ наwhich node
команду. Однако такого файла нет на компьютере B. - Выполнение команды
node
работает для компьютера A, а не B. На B я должен использоватьnodejs
вместо этого. - На B есть двоичный файл с именем / sbin / node, у A его нет.
Такое поведение вызывает проблему несогласованности при разработке на обеих машинах. На данный момент я работал, переименовывая двоичные файлы на B следующим образом:
sudo mv /sbin/node /sbin/node-sbin
sudo ln -s /usr/bin/nodejs /usr/bin/node
Есть ли способ действительно исправить это, так что узел будет установлен как /usr/bin/node
вместо /usr/bin/nodejs
?
обновление: измененные инструкции ниже, чтобы использовать
nodejs-legacy
пакет. ( больше информации об узле-наследии )Попробуйте полностью удалить конфликтующий узел пакета:
Это случилось со мной, когда я невольно установил
node
пакет non-node.js . Хотя я сделал этоapt-get remove node
до установки правильногоnodejs
пакета, я думаю,--purge
аргумент обязателен.Справочная информация :
источник
/usr/bin/node
в Ubuntu 13.10. Ответ @ user229115 ниже работает, хотя.sudo apt-get install nodejs nodejs-legacy
вы получитеnode
бинарный файл как node.js. Но если вы уже установилиnode
(Amateur Packet Radio Node Program), вам, очевидно, потребуется удалить его.nodejs-legacy
пакета будет работать.nodejs-lecacy
пакета, который может быть только символической ссылкой наnodejs
исполняемый файл на самом деле ...К сожалению для меня, создание символической ссылки не работает. Что работало для меня, хотя создавал псевдоним. В
~/.bashrc
или~/.bash_aliases
(если~/.bashrc
загружает этот файл), просто добавьте следующую строку:Перезапустите сеанс bash, набрав
bash
в консоли, и ваш псевдоним будет работать.источник
source ~/.bashrc
перезагрузить файл .bashrc (если вы хотите избежать перезапуска терминала) подробнее ..hash node
вызова в ваших существующих терминалах, потому что современные оболочки помнят местоположение команд, которые ранее были найдены в PATH.hash
Команда в таких встроенных оболочках говорят им повторить поиск, и запомнить новое место.Я думаю, что это так:
Использование альтернатив Debian.
источник
Поздний ответ, но для актуальной информации ...
Если вы устанавливаете node.js, используя метод рекомендуемого файла readme для установки github, рекомендуется следовать инструкциям, приведенным в статье блога nodeource , вместо установки из устаревшего репозитория apt-get, node.js должен запускаться с помощью
node
команды: а такжеnodejs
команда, без необходимости создавать новую символическую ссылку.Этот метод из статьи:
Обратите внимание, что это для версии 0.12, которая, скорее всего, устареет в недалеком будущем.
Кроме того, если вы находитесь за корпоративным прокси (как я), вам нужно добавить опцию -E к команде sudo, чтобы сохранить переменные env, необходимые для прокси:
источник
На Ubuntu 14.04 у меня была такая же проблема с узлом. У меня был не рабочий «узел», а работающий «узел». я только что сделал
и сразу после этого, узел работал, и узелjs тоже работает :) Я новичок в Linux, и это для меня ошибкой. Однако Бауэр работает!
источник
Мой рабочий стол в настоящее время Ubuntu 15.10 AMD64, поэтому я буду использовать следующий URL в моем примере установки (опять же, дистрибутив различается):
Затем измените каталог на ваш каталог загрузки:
Из вашего каталога загрузки выполните следующее:
Подтвердите установку вашего node.js следующим образом:
ссылка http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/
источник
tar
командаsudo
.