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

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

$ node --versionzsh: command not found: node$ nodejs --versionv0.10.15

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

И более того:

$ npmzsh: command not found: npm

Я думал npm> был включен в NodeJS 0.10?

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

Исправление

Перво-наперво, просто создайте символическую ссылку из вызываемого node указывая на nodejs двоичный.

ln -s /usr/bin/nodejs /usr/bin/node

Проблема

Я нашел довольно много руководств по установке Nodejs (здесь и здесь) все они имеют одинаковый код для проверки правильности установки. Итак, по сути, создайте простой сервер следующим образом:

// hello_node.jsvar 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 сообщение.

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

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


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

sudo apt-get install nodejs

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

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


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

sudo apt-get install npm

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

apt-get install nodejs-legacy

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

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

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

:)

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

sudo apt-get install npm

Быстрое решение для nvm пользователи. Я использую nvm (диспетчер версий узла) и для меня, чтобы использовать npm команду, которую я всегда должен отдавать перед npm эта команда nvm use 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

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

Я не совсем уверен, но я помню, что причина, по которой двоичный файл node был переименован, заключалась в том, что он конфликтовал с одним из пакетов под названием node (программа Amateur Packet Radio Node).

может быть, этот пост решит вашу проблему

Stackoverflow

@AhmedAl-battashi Это не помогает, я уже прочитал это. NodeJS установлен, nodejs находится в ПУТИ, но node и npm недоступны, я не могу найти их нигде в моей системе.

Вы уверены, что ищете “узел”, а не "nodejs`? “узел” - это не то, что вы думаете.

@Braiam “узел” используется в каждом учебнике, который я видел

Похоже, что пакет node в Ubuntu будет переименован в ax25-node. Так что, надеюсь, в будущем Ubuntu просто установит двоичный файл с именем node при установке nodejs. @Braiam Стандартный шебанг де-факто для node.js скрипты - это #! /usr /bin / env node, так что Ubuntu как бы нарушает стандарт node.js скриптов из-за его политики конфликта двоичных имен, которая не соблюдалась node.js проект.