узел: команда не найдена

Я не понимаю, почему команда 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?

50
задан 13 January 2014 в 21:48

7 ответов

Пакет node не связан с NodeJS. Смотрите здесь информацию о узле Install node:

Программа узла любительской радиосвязи (переходный пакет)


Вместо этого вы должны установить пакет nodejs Install nodejs .

sudo apt-get install nodejs

затем используйте его с командой nodejs.

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


Если вы хотите установить npm Install npm, вам также придётся это установить.

sudo apt-get install npm
45
ответ дан 13 January 2014 в 21:48

Я согласен, это небольшая проблема, но я не знаю, почему это происходит.

Исправление

Перво-наперво, просто создайте символическую ссылку из вызываемого узла , указывающего на двоичный файл 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 найдено сообщение.

50
ответ дан 13 January 2014 в 21:48
  • 1
    некоторые вещи обеспечиваются как предварительно скомпилированный двоичный файл также =0 – Panther 4 July 2015 в 23:13

Как @minerz029 уже говорил, есть конфликт с пакетом node. Но если вам всё же нужна команда node (потому что скрипт использует только node, например), то правильным способом будет установить пакет nodejs-legacy :

apt-get install nodejs-legacy

и не создавать самостоятельно сим-ссылку (особенно не в /usr/bin/). Это обеспечит команду node для nodejs.

26
ответ дан 13 January 2014 в 21:48

может понадобиться установить вручную

sudo apt-get install npm
1
ответ дан 13 January 2014 в 21:48

Попробуйте это

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

sudo apt-get install -y nodejs

:)

2
ответ дан 13 January 2014 в 21:48

Быстрое исправление для пользователей nvm . Я использую nvm (диспетчер версий узлов), а чтобы использовать команду npm , я всегда должен вводить перед npm эту команду nvm использовать 0.x (замените 0.x на 0,11 или 0,10 , например, версию, которую вы хотите использовать).

0
ответ дан 13 January 2014 в 21:48
  • 1
    Таким образом, я просто должен обновить ядро на данный момент? – screenslaver 4 July 2015 в 18:35

Как 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

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

0
ответ дан 13 January 2014 в 21:48

Другие вопросы по тегам:

Похожие вопросы: