node: команда не найдена

43

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

задан Matthieu Napoli 13.01.2014 в 18:48
источник

7 ответов

39

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

AmateurPacketRadioNodeprogram(transitionalpackage)

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

sudoapt-getinstallnodejs

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

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

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

sudo apt-get install npm
    
ответ дан kiri 13.01.2014 в 23:50
источник
40

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

Исправление

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

    
ответ дан jlouzado 08.09.2014 в 18:04
26

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

apt-get install nodejs-legacy

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

    
ответ дан F.Raab 27.05.2016 в 14:49
1

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

sudo apt-get install npm
    
ответ дан Ahmed Al-battashi 13.01.2014 в 18:57
1

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

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

sudo apt-get install -y nodejs

:)

    
ответ дан MUHASIN BABU 29.07.2017 в 12:08
0

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

    
ответ дан Karl Morrison 19.03.2015 в 00:51
0

Как уже упоминалось в minerz029 , некоторые версии пакета nodejs не будут содержать двоичный файл node из-за другого пакета, ранее использующего это имя. Решение так же просто, как после шагов installatoin на собственном веб-сайте Node:

Установка Node.js через диспетчер пакетов | Debian и Ubuntu на основе дистрибутивов Linux

В настоящий момент эти шаги:

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

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

    
ответ дан bmaupin 23.11.2017 в 20:02