Узел навсегда /usr/bin/env: узел: нет такого файла или каталога

Я установил nodejs, используя:

apt-get install nodejs

Затем я установил npm, используя:

apt-get install npm

И тогда я установил навсегда, используя:

npm install forever -g

Теперь я иду в свой проект /var/www/myproject

и попытаться бежать forever start server.js

тогда я получаю следующее сообщение:

/usr/bin/env: node: No such file or directory

Кто-нибудь может сказать мне, что происходит?

3 ответа

Решение

Вам нужно символически связать исполняемый файл nodejs с узлом

sudo ln -s "$(which nodejs)" /usr/local/bin/node

Причина этого в том, что когда вы выполняете "apt-get install node", он устанавливает несвязанный пакет, поэтому им пришлось выбрать другое имя, чтобы оно не конфликтовало

Хотя принятый ответ решает проблему, правильный способ сделать это, по крайней мере, с Debian Jessie и вперед и Ubuntu 14.4 и вперед 1, состоит в установке nodejs-legacy:

apt-get install nodejs-legacy

Причина в том, что в Debian уже был пакет (узел), предоставляющий / usr / bin / node, а двоичный файл узла nodejs должен был быть установлен в / usr / bin / nodejs.

Пакет nodejs-legacy предоставляет символическую ссылку из / usr / bin / nodejs в / usr / bin / node (и конфликтует с пакетом node).

Источник: [CTTE # 614907] Разрешение конфликта node / nodejs и ошибка Debian #614907: узел: имя конфликтует с интерпретатором node.js

Лучше, если вы обновитесь до последней версии узла

  1. sudo npm cache очистить -f
  2. sudo npm install -gn
  3. sudo n stable
Другие вопросы по тегам