Узел навсегда /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
Лучше, если вы обновитесь до последней версии узла
- sudo npm cache очистить -f
- sudo npm install -gn
- sudo n stable