Nodejs vs node на ubuntu 12.04
Я установил nodejs на ubuntu из инструкций, приведенных здесь
Когда я пишу node --version
в терминале, я вижу это:
-bash: /usr/sbin/node: No such file or directory
Я вижу node в каталоге /usr/sbin/
.
Написание npm --version
показывает 1.3.5
Написание nodejs --version
показывает v0.10.15
Кроме того, я вижу node в каталоге /usr/bin/
.
Итак, как я могу работать node
?
Кроме того, если я использую zsh вместо bash, то работает команда node
.
Ответы
Ответ 1
Вам нужно вручную создать символическую ссылку /usr/bin/node
. Ярлык для bash совместимых оболочек:
sudo ln -s `which nodejs` /usr/bin/node
Или, если вы используете нестандартные оболочки, просто скопируйте путь, который вы найдете с помощью which nodejs
:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Позже отредактируйте
Я нашел это объяснение в опубликованной вами ссылке
Существует конфликт имен с пакетом node (программа любительского пакетного радио node), а двоичный файл nodejs был переименован из node в nodejs. Вам понадобится symlink/usr/bin/node в /usr/bin/nodejs или вы можете удалить программу Amateur Packet Radio node, чтобы избежать этого конфликта.
Позже отредактируйте
Прошло некоторое время, так как я ответил на это. Хотя решение, которое я опубликовал здесь, работало для меня несколько раз, пользователи сообщили еще несколько решений в комментариях:
От пользователя @user229115
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Из AskUbuntu (user leftium)
sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
Ответ 2
Я думаю, что это так:
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Использование альтернатив Debian.
Ответ 3
По-видимому, решение отличается от версий Ubuntu. После работы у меня на Ubuntu 13.10:
sudo apt-get install nodejs-legacy
НТН
Ответ 4
У меня такая же проблема в Ubuntu 14.04.
Я установил "nodejs" , и он работает, но только если я использую команду "nodejs" . Если я пытаюсь использовать "node", ничего не происходит.
Я исправил эту проблему следующим образом:
После этого, когда я набираю "node" в командной строке, я получаю сообщение об ошибке "/usr/sbin/ node: нет такого файла или каталога"
-
Во-вторых, что я сделал, это символическая ссылка на "nodejs" :
sudo ln -s /usr/bin/nodejs /usr/sbin/node
Ответ 5
Это случилось со мной.
node -v => 0.10.2
nodejs -v => 5.5.0
Проблема заключалась в том, что я установил node из исходного кода некоторое время назад. Выполнение
which node
всегда указывал на эту локальную установку. Кроме того,
echo NODE_PATH
указывает на локальную установку.
удаление каталога с исходной установкой не помогло. Он просто сломал команду node. В конце концов, отключить переменную окружения NODE_PATH и очистить, а затем переустановить nodejs сделал трюк.
unset NODE_PATH
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs
После этого
node -v => 5.5.0
и npm install начали работать для пакетов в зависимости от node = > 5.0.
Ответ 6
Я новичок во всем этом, но для меня работал простой псевдоним:
alias node='env NODE_NO_READLINE=1 rlwrap nodejs'
по крайней мере для запуска вещей непосредственно в bash и выполнении .js файлов.
Ответ 7
Как насчет использования официальных инструкций на узле сайта:
Для v7:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
Для v6:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Для v4:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
Я тестировал их из Windows bash (через подсистему для Linux - 14.04) и raspbian (на основе ARM Debian). Запуск sudo apt-get install -y nodejs
без предварительного запуска установки script приведет к получению node 0,10.
Если вы планируете устанавливать собственные модули npm, требующие сборки, также запускайте:
sudo apt install -y build-essential
Примечание. Это рекомендуемый путь для любого дистрибутива на основе Debian по всем архитектурам.
Ответ 8
Поздний ответ, но для актуальной информации...
Если вы установите node.js, используя рекомендуемый метод из node github install readme, он предлагает следовать инструкциям nodeource статью в блоге, вместо установки из устаревшего apt-get repo, node.js должен запускаться с помощью команды node
, а также команды nodejs
без необходимо создать новую символическую ссылку.
Этот метод из статьи:
# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
# Then install with:
sudo apt-get install -y nodejs
Обратите внимание, что это для v0.12, который, скорее всего, устареет в недалеком будущем.
Кроме того, если вы находитесь за корпоративным прокси (например, я), вам нужно добавить параметр -E в команду sudo, чтобы сохранить env vars, необходимые для прокси:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
Ответ 9
Node Менеджер версий (nvm)
Если вам нравится устанавливать несколько версий nodejs и легко переключаться между ними, я бы предложил использовать Node Version Manger. Он также решает проблему именования (node
vs nodejs
)
Это довольно просто:
Установите версию nodejs:
$ nvm install 4.4
Теперь у вас есть nodejs 4.4 в дополнение к уже установленной версии, и вы можете просто использовать команду node
для доступа к новой установленной версии:
$ node -v // The new version added by nvm.
v4.4.5
$ nodejs -v // The OS version is untouched and still available.
v0.10.25
Вы можете установить больше версий nodejs и легко переключаться между ними:
$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)
Ответ 10
Добавление в @randunel правильного ответа (еще не могу прокомментировать SO):
Мне также пришлось символически ссылаться /usr/local/bin/ node на/usr/bin/nodejs.
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
По-видимому, это переопределяло команду /usr/bin/ node.
Не знаю, как это получилось, но надеюсь, что это поможет кому-то другому, поскольку было больно понять, почему это не работает для меня.
Ответ 11
Это работает для меня:
alias node=nodejs
Следуя инструкциям в этой ссылке.
Ответ 12
У меня была та же проблема, что и символическая ссылка:
sudo ln -s/usr/bin/nodejs/usr/bin/node
после этого
sudo npm install -g phantomjs-prebuilt
прошел гладко
Ответ 13
Если вы используете экземпляр AWS EC2 с экземпляром Ubuntu (проверенный на Ubuntu 16.x), эти шаги могут работать для вас:
sudo apt-get update
sudo apt-get --purge remove node -y
sudo apt-get --purge remove nodejs -y
sudo apt-get --purge remove legacy-node -y
sudo rm /usr/bin/node
curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
sudo apt-get install nodejs -y
node -v
Если все правильно, последняя команда должна иметь выход вроде: v6.x.x
Если нет, запустите следующее:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Надеюсь, это поможет. Это помогло мне волшебным образом (хе-хе).
Ответ 14
Лучший способ установить nodejs - через NVM (Node Менеджер версий)
Удалить предыдущие версии:
$ sudo apt-get purge node
$ sudo apt autoremove
Также удалите все node_modules на $ sudo rm -rf node_modules
в каталоге, содержащем эту папку.
Node и Nodejs - технически одно и то же. Просто изменилось имя.
Сначала установите или обновите nvm
для запуска с правами root
$ sudo su
Тогда
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
ИЛИ
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
Проверьте nvm на путь
$ source ~/.profile
$ nvm ls-remote
если вы получите сообщение об ошибке, а затем установите git.
$ sudo apt-get install git
Повторный запуск:
$ nvm ls-remote
ИЛИ $ sudo nvm ls-remote
$ nvm install version-you-require
Проверка версии
# node --version
nvm use version-you-require
ИНФОРМАЦИОННЫЙ КУРС:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
Ответ 15
Я создал символическую ссылку, но она все еще не работала.
Я забыл перезагрузить мой терминал (мое соединение шпатель). После того, как я работал без символической ссылки:)
Ответ 16
Будет полезно для абсолютных новичков
Хотя у вас есть ответ, просто хочу указать, что команда node
(без каких-либо параметров) запустит node в режиме REPL read-eval-print-loop, чтобы выполнить необработанный код javascript.
Другим способом использования команды node
является предоставление файла js
в качестве параметра. Именно так мы в основном используем его.
Ответ 17
Это необязательно для удаления существующих node и nodejs, но для этого необходимо установить последние 7x nodejs.
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs