it-roy-ru.com

ошибка браузера/usr/bin/env: узел: нет такого файла или каталога

Я установил узел js и npm через apt-get install и все зависимости, затем я установил browserify 

npm install browserify -g

он проходит процесс и кажется, что он установлен правильно, но когда я пытаюсь сделать простой пакет для этого пошаговое руководство

Я получаю ошибку:

/ usr/bin/env: node: нет такого файла или каталога 

enter image description here

85
Eduardo Dennis

Вы также можете установить Nodejs с помощью NVM или Nodejs Version Manager. Существует много преимуществ использования менеджера версий. Одним из них является то, что вам не нужно беспокоиться об этой проблеме. 


Инструкции:


Sudo apt-get update
Sudo apt-get install build-essential libssl-dev

Как только необходимые пакеты установлены, вы можете открыть скрипт установки nvm со страницы проекта GitHub. Номер версии может отличаться, но в целом вы можете скачать и установить его с использованием следующего синтаксиса:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

Это загрузит скрипт и запустит его. Он установит программное обеспечение в подкаталог вашего домашнего каталога по адресу ~/.nvm. Он также добавит необходимые строки в ваш файл ~/.profile для использования файла.

Чтобы получить доступ к функциональности nvm, вам нужно выйти и снова войти в систему, или вы можете получить файл ~/.profile, чтобы ваш текущий сеанс знал об изменениях:

source ~/.profile

Теперь, когда у вас установлен nvm, вы можете установить изолированные версии Node.js.

Чтобы узнать версии Node.js, доступные для установки, вы можете набрать:

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14

Как вы можете видеть, новейшая версия на момент написания этой статьи - v0.11.14. Вы можете установить это, набрав:

nvm install 0.11.14

Обычно nvm переключается на использование последней установленной версии. Вы можете явно указать nvm использовать только что загруженную версию, набрав:

nvm use 0.11.14

Когда вы устанавливаете Node.js с помощью nvm, исполняемый файл называется node. Вы можете увидеть версию, используемую в настоящее время в командной консоли, набрав:

node -v

Обучающее руководство можно найти здесь

7
Eduardo Dennis

Некоторые дистрибутивы Linux устанавливают nodejs не как исполняемый файл "node", а как "nodejs".

В этом случае вам нужно вручную связать «узел», так как многие пакеты запрограммированы после двоичного «узла». Нечто подобное происходит и с «python2», не связанным с «python».

В этом случае вы можете сделать легкую символическую ссылку. Для дистрибутивов Linux, которые устанавливают двоичные файлы пакета в /usr/bin, вы можете сделать

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

Новый ответ:

  1. Удалите любой пакет nodejs, который вы установили через системный менеджер пакетов (dnf, apt-get и т.д.), Удалите все глупые символические ссылки, которые вы воссоздали при каждом обновлении (смеется).
  2. Установите NVM,
  3. используйте nvm для установки nodejs: nvm install 6

Старый ответ:

Любые разговоры о создании символических ссылок или установке какого-либо другого узла-пакета являются ложными и нежизнеспособными.

Правильный способ решить эту проблему:

  1. просто установите пакет nodejs с помощью apt-get, как у вас уже есть
  2. используйте update-alternatives, чтобы указать, что ваш двоичный файл nodejs отвечает за #!/usr/bin/env node

Вот так : 

Sudo apt-get install nodejs
Sudo update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100

Теперь это становится устойчивым на протяжении всех обновлений пакетов, дистрибутивов и так далее.

52
airtonix

Запустите apt-get install nodejs-legacy.

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

35
alex
Sudo apt-get install nodejs-legacy

Это создает символическую ссылку /usr/bin/node -> nodejs.

Источник: https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html

3
kamikater

Мне кажется, та же проблема, когда я строю атом в Linux.

Sudo apt-get install nodejs-dev

Исправьте мой вопрос. Надеюсь, это полезно для вас.

0
kangear
  1. запустите команду which node результат будет чем-то

    /home/moh/.nvm/versions/node/v8.9.4/bin/node

  2. Скопируйте путь, который вы получили выше, затем выполните команду на шаге 3.

  3. ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/node

0
Rifaideen

Вы должны называть «nodejs», а не «узел». Чтобы проверить это, введите node -v в командной консоли: если ничего не найдено, попробуйте nodejs -v. Если при этом отображается номер версии, то команда, которую вы должны использовать, это nodejs, а не node. Следовательно, вы должны изменить вызов browserify в вашем скрипте с node на nodejs (как показано ниже): замените

#!/usr/bin/env node

с

#!/usr/bin/env nodejs

Вам также может понадобиться открыть скрипт как суперпользователь.

0
user51324

Если вы не хотите использовать символическую ссылку, вы можете сделать это . Работает в Ubuntu

#!/usr/local/bin/node --harmony

тег гармонии для новой гармонии ECMAscript

0
user2290820