Я не понимаю, почему команда node
не будет работать, тогда как nodejs
работает:
$ node --version
zsh: command not found: node
$ nodejs --version
v0.10.15
Я пытался apt-get install nodejs
, но последняя версия уже установлена.
И более того:
$ npm
zsh: command not found: npm
Я думал, что npm
был включен в NodeJS> 0,10?
Пакет node
не связан с NodeJS. Смотрите здесь информацию о узле :
Программа узла любительской радиосвязи (переходный пакет)
Вместо этого вы должны установить пакет nodejs
.
sudo apt-get install nodejs
затем используйте его с командой nodejs
.
Причина, по которой node
не работает, скорее всего, связана с конфликтами с оригинальным пакетом node
, связанным выше.
Если вы хотите установить npm
, вам также придётся это установить.
sudo apt-get install npm
Я согласен, это небольшая проблема, но я не знаю, почему это происходит.
Перво-наперво, просто создайте символическую ссылку из вызываемого узла
, указывающего на двоичный файл nodejs
.
ln -s /usr/bin/nodejs /usr/bin/node
Я нашел довольно много руководств по установке Nodejs ( здесь и здесь ) у всех есть похожий код для проверки правильности установки. По сути, создайте такой простой сервер:
// hello_node.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');
, а затем запустите его в nodejs со следующей командой:
node hello_node.js
А потом, когда я пытался использовать npm для установки чего-то, он давал сбой и сообщал о том же узле not найдено
сообщение.
Как @minerz029 уже говорил, есть конфликт с пакетом node
. Но если вам всё же нужна команда node
(потому что скрипт использует только node
, например), то правильным способом будет установить пакет nodejs-legacy
:
apt-get install nodejs-legacy
и не создавать самостоятельно сим-ссылку (особенно не в /usr/bin/
). Это обеспечит команду node
для nodejs.
может понадобиться установить вручную
sudo apt-get install npm
Попробуйте это
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
:)
Быстрое исправление для пользователей nvm
. Я использую nvm
(диспетчер версий узлов), а чтобы использовать команду npm
, я всегда должен вводить перед npm
эту команду nvm использовать 0.x
(замените 0.x
на 0,11
или 0,10
, например, версию, которую вы хотите использовать).
Как minerz029 уже упоминал , некоторые версии пакета nodejs
не будут предоставлять node
из-за другого пакета, ранее использовавшего это имя. Решение так же просто, как выполнить шаги установки на собственном веб-сайте Node:
Установка Node.js через диспетчер пакетов | Дистрибутивы Linux на основе Debian и Ubuntu
На данный момент это следующие шаги:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Но лучше всего проверить ссылку на источник, чтобы убедиться, что вы используете последнюю версию.