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


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

npm install browserify -g

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

Я получаю сообщение об ошибке:

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

9 85

9 ответов:

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

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

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

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

Ответ:

  1. удалите любой пакет nodejs, который вы установили через диспетчер системных пакетов (dnf, apt-get и т. д.), удалите все глупые символические ссылки, которые вы воссоздавали каждое обновление (lol).
  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

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

Run apt-get install nodejs-legacy.

некоторые дистрибутивы linux изменили узел.двоичное имя js делает его несовместимым с большим количеством узлов.пакеты с JS. Пакет nodejs-legacy предоставляет ссылку для решения этой проблемы.

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


инструкции:


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, вам нужно выйти из системы и снова войти в систему, или вы можете использовать источник ~/.файл профиля так, что ваш текущий сессия знает об изменениях:

source ~/.profile

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

чтобы узнать версии узла.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

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

node -v

полный учебник можно найти здесь

sudo apt-get install nodejs-legacy

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

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

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

#!/usr/bin/env node

С

#!/usr/bin/env nodejs

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

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

sudo apt-get install nodejs-dev

исправить мой вопрос.надеюсь, что полезно для вас.

Если вы не хотите, чтобы симлинк вы могли бы сделать это. работает в Ubuntu

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

тег harmony предназначен для нового ECMAscript harmony

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

    / home/moh/.НВМ/версии/узел/В8.9.4/ОГРН/узле

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

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