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

Я не понимаю, почему команда node не работает, тогда как nodejs работает:

$ node --version
zsh: command not found: node
$ nodejs --version
v0.10.15

Я попробовал apt-get install nodejs, но последняя версия уже установлена. 1]

И кроме того:

$ npm
zsh: command not found: npm

Я думал, что npm включен в NodeJS> 0.10?

1
задан 13 January 2014 в 23:48

6 ответов

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

The Fix

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

37
ответ дан 24 May 2018 в 13:03
  • 1
    У меня такая же проблема: sudo apt-get install npm, а затем после рекомендации @jlouzado выполнить эту работу. Сейчас хорошо работает – user615274 30 November 2015 в 23:22
  • 2
    Смешной совет: существует nodejs-legacy пакет, который предоставляет символическую ссылку, предположительно для совместимости с "устаревшим кодом" который все еще полагается на него. – Simón 25 March 2016 в 01:51
  • 3
    @ Simón Я думаю, что это лучшее решение, чем создание символической ссылки. – grooveplex 27 May 2016 в 16:00
  • 4
    Итак, теперь я подсчитываю 3 пакета, которые мне нужно установить, если я делаю в основном что-нибудь с Node.js. Я пытаюсь установить эту библиотеку Node.js как час. – sudo 7 April 2018 в 02:56

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

apt-get install nodejs-legacy

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

24
ответ дан 24 May 2018 в 13:03
  • 1
    Оно работает. Я думаю, что это лучше, чем ответ @ jlouzado. – Shawn Xie 15 June 2016 в 10:36
  • 2
    если вы не часто начинаете с нуля " с вашей ОС install .... МНОГО лучше позволить apt управлять символическими ссылками в bin. Благодаря! – mike 13 November 2017 в 03:14

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

sudo apt-get install npm
1
ответ дан 24 May 2018 в 13:03
  • 1
    Я читал везде, что я не должен устанавливать npm вручную, потому что он был включен в & gt; v0.10: / Я немного потерял – Matthieu Napoli 13 January 2014 в 23:57

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

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

sudo apt-get install -y nodejs

:)

1
ответ дан 24 May 2018 в 13:03
  • 1
    Почему вы не устанавливаете последнюю версию ?: curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - – karel 29 July 2017 в 13:43
  • 2
    setup_6.x стабилен – MUHASIN BABU 31 July 2017 в 11:15
  • 3
    Политика LTS для версии Node.js 8 заключается в том, что она ожидает LTS сейчас, она начинает LTS в течение нескольких месяцев в октябре 2017 года, она начинает период обслуживания в апреле 2019 года и заканчивает обслуживание в декабре 2019 года. Для получения дополнительной информации см. таблицу в этом ответе: askubuntu.com/questions/626383/… – karel 31 July 2017 в 11:29

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

0
ответ дан 24 May 2018 в 13:03

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

Поскольку minerz029 уже упоминал

На данный момент эти шаги: [ ! d4]

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

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

0
ответ дан 24 May 2018 в 13:03

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

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