nodejs vs node на ubuntu 12.04
я установил nodejs на ubuntu из приведенных инструкций здесь
когда я пишу node --version в терминале я вижу это : -bash: /usr/sbin/node: No such file or directory
Я вижу узел в , хотя.
писать npm --version показывает 1.3.5
Пишу nodejs --version показывает v0.10.15
кроме того, я вижу узле .
Итак, как мне получить node работает?
также, если я использую zsh вместо bash, то строительство.
20 ответов:
вам нужно вручную создать символическую ссылку
/usr/bin/node. Ярлык для совместимых оболочек bash:sudo ln -s `which nodejs` /usr/bin/nodeили если вы используете нестандартные оболочки, просто жестко Закодируйте путь, который вы найдете с
which nodejs:sudo ln -s /usr/bin/nodejs /usr/bin/nodeредактировать
Я нашел это объяснение в ссылке ты написал
существует конфликт именования с пакетом узла (Amateur Packet Radio Node Program), и двоичный файл nodejs был переименован из узла в nodejs. Вам нужно будет symlink/usr/bin /node to/usr/bin / nodejs или вы можете удалить программу Amateur Packet Radio Node, чтобы избежать этого конфликта.
редактировать
прошло некоторое время с тех пор, как я ответил на это. Хотя решение, которое я разместил здесь, работало для меня несколько раз, пользователи сообщили еще несколько решений в комментариях:
от @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-legacyHTH
Edit:правило:
если вы установили
nodejsно не хватает/usr/bin/nodeдвоичный, а затем также установитьnodejs-legacy. это просто создает недостающую softlink.согласно моим тестам, Ubuntu 17.10 и выше уже имеют совместимость-softlink
/usr/bin/nodeна месте послеnodejsустановлен, так чтоnodejs-legacyотсутствует в этих релизах, поскольку он больше не нужен.
у меня такая же проблема в Ubuntu 14.04.
Я установил "nodejs "и он работает, но только если я использую команду"nodejs". Если я попытаюсь использовать "узел", ничего не произойдет.
я исправил эту проблему следующим образом:
установить nodejs-legacy
sudo apt-get install nodejs-legacyпосле этого, когда я набираю "узел" в командной строке, я получаю сообщение об ошибке " /usr / sbin / node: нет такого файла или каталог"
во-вторых, то, что я сделал, это символическая ссылка на "nodejs":
sudo ln -s /usr/bin/nodejs /usr/sbin/node
Это случилось и со мной.
node -v => 0.10.2 nodejs -v => 5.5.0проблема была в том, что я установил узел из источника некоторое время назад. Работает
which nodeвсегда указывал на эту локальную установку. Кроме того,
echo NODE_PATHуказал на локальную установку.
удаление каталога с исходной установкой не помогло. Он просто сломал команду узла. В конце концов, сброс переменной среды 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). Работает
sudo apt-get install -y nodejsбез первого запуска сценария установки приведет к получению узла 0.10.если вы планируете установить собственный НПМ модули, требующие сборки, также запускаются:
sudo apt install -y build-essentialПримечание: это рекомендуемый путь для любого дистрибутива на основе Debian во всех архитектурах.
диспетчер версий узлов (nvm)
если вы хотите установить несколько версий nodejs и легко переключаться между ними, я бы предложил использовать Node Version Manger. Он также решает проблему именования (
nodevsnodejs)это довольно просто:
установите версию 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):
Я также должен был символически связать /usr/local/bin /node с/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надеюсь, это поможет. Это помогло мне волшебно (хе-хе).
У меня была такая же проблема символическая ссылка помогла мне: sudo ln -s / usr / bin / nodejs / usr / bin / node после этого sudo npm install-g phantomjs-prebuilt
прошло гладко
лучший способ установить 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 --versionnvm 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 (диспетчер версий узлов) - 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
Comments