nodejs против node на ubuntu 12.04

я установил nodejs на ubuntu из приведенных инструкций здесь

когда я пишу node --version в терминале я вижу это :
-bash: /usr/sbin/node: No such file or directory

Я вижу узел в .

Итак, как мне получить node работает?

кроме того, если я использую ЗШ вместо bash, то строительство.

20 ответов


вам нужно вручную создать символическую ссылку /usr/bin/node. Ярлык для совместимых оболочек bash:

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

или если вы используете нестандартные оболочки, просто hardcode путь, который вы найдете с which nodejs:

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

редактировать

Я нашел это объяснение в ссылке ты написал

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

редактировать

прошло некоторое время с тех пор, как я ответил на это. Хотя решение, которое я разместил здесь, работало для меня несколько раз, пользователи сообщили еще несколько решений в комментариях:

от @user229115

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

от AskUbuntu (пользователь leftium)

sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs

Я думаю, что это он:

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

использование альтернатив Debian.


по-видимому, решение отличается между версиями Ubuntu. Следующие работал для меня на Ubuntu 13.10:

sudo apt-get install nodejs-legacy

HTH

Edit:правило:

если вы установили nodejs но не хватает /usr/bin/node binary, затем также установите nodejs-legacy. это просто создает недостающую softlink.

согласно моим тестам, Ubuntu 17.10 и выше уже имеют совместимость-softlink /usr/bin/node на месте после nodejs установлено, поэтому nodejs-legacy отсутствует в этих выпусках, поскольку он больше не нужен.


у меня такая же проблема в Ubuntu 14.04.

Я установил "nodejs", и он работает, но только если я использую команду"nodejs". Если я попытаюсь использовать "узел", ничего не произойдет.

я исправил эту проблему следующим образом:

  1. установить nodejs-legacy

    sudo apt-get install nodejs-legacy

после этого, когда я набираю "узел" в командной строке, я получаю сообщение об ошибке " /usr / sbin / node: нет такого файла или каталог"

  1. во-вторых, то, что я сделал, это символическая ссылка на "nodejs":

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

Это случилось и со мной.

node -v => 0.10.2
nodejs -v => 5.5.0

проблема заключалась в том, что я установил узел из источника некоторое время назад. Бег!--6-->

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 начала работать для пакетов в зависимости от Node => 5.0.


Я новичок во всем этом, но для меня работал простой псевдоним:

alias node='env NODE_NO_READLINE=1 rlwrap nodejs'

по крайней мере для ведения дела непосредственно в bash и исполнения .файлы js.


как насчет использования официальных инструкций от сайт nodejs:

для 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). Бег!--4--> без первого запуска сценария установки вы получите узел 0.10.

если вы планируете установить собственный npm модули, требующие сборки, также запускаются:

sudo apt install -y build-essential

Примечание: это рекомендуемый путь для любого дистрибутива Debian на основе всех архитектур.


диспетчер версий узлов (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)

добавление к правильному ответу @randunel (пока не могу прокомментировать SO):

мне также пришлось symlink/usr/local/bin /node to/usr/bin / nodejs.

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

по-видимому, это переопределяло команду/usr/ bin / node.

Не знаю, как это было установлено, но надеюсь, что это поможет кому-то еще, так как это было больно, чтобы выяснить, почему выше не работает для меня.


поздний ответ, но для актуальной информации...

при установке узла.js с использованием метода recommend из узел установки GitHub readme, он предлагает следовать инструкциям на статья блога nodesource, а не установка из устаревшего apt-get repo, node.js должен работать с помощью


это работает для меня:

alias node=nodejs

после инструкций этой ссылка.


Если вы находитесь на экземпляре 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.х.х

Если нет, то выполнить следующее:

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

надеюсь, это поможет. Это помогло мне волшебным образом (хе-хе).


У меня была такая же проблема, символическая ссылка помогла мне: судо в /usr/Бен/nodejs /usr/Бен/узел после этого sudo npm install-g phantomjs-встроенная

прошло гладко


лучший способ установить nodejs-через NVM (Node Version Manager)

удалить предыдущие версии :

$ 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

Я создал символическую ссылку, но она все еще не работала.

Я забыл перезагрузить терминал (мое соединение шпатлевки). После того, как я работал без символической ссылки:)


будет полезно для абсолютных новичков

хотя, вы получили ответ, просто хотел указать, что node команда (без каких-либо параметров) запустит узел в REPL read-eval-print-loop режим для выполнения необработанного кода javascript.

другой способ использовать node команда, предоставляя ей js файл в качестве параметра. Вот как мы обычно его используем.


необязательно удалять существующий узел и nodejs, но нужно сделать альтернативно установить последний 7.x nodejs.

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

просто используйте NVM(Node Version Manager) - https://github.com/creationix/nvm

он стал стандартом для управления узлом.js.

когда вам нужна новая версия:

nvm install NEW_VER
nvm use XXX

Если что-то пойдет не так, вы всегда можете вернуться с

nvm use OLD_VER

вы можете выполнить эту команду, чтобы включить nodejs:

scl enable rh-nodejs8 bash

Примечание: проверьте версию узла.

источник: https://developers.redhat.com/products/softwarecollections/hello-world/


https://nodejs.org/en/download/

Download .pkg file on your mac and install it. it directly works.

➜  ~ which node
/usr/local/bin/node
➜  ~ node --version
v10.11.0
➜  ~ which npm
/usr/local/bin/npm
➜  ~ npm --version
6.4.1