browserify错误/ usr/bin/env:node:没有这样的文件或目录

Edu*_*nis 85 javascript node.js browserify

我通过apt-get install和所有依赖项安装了节点js和npm,然后我安装了browserify

npm install browserify -g
Run Code Online (Sandbox Code Playgroud)

它经历了整个过程,看起来它安装得正确,但是当我尝试按照这个演练做一个简单的捆绑

我收到错误:

/ usr/bin/env:node:没有这样的文件或目录

在此输入图像描述

bod*_*ser 245

一些Linux发行版安装nodejs不是"节点"可执行文件而是"nodejs".

在这种情况下,您必须手动链接到"节点",因为在"节点"二进制文件之后编程了许多包."python2"没有链接到"python"也会发生类似的事情.

在这种情况下,您可以执行简单的符号链接.对于安装包二进制文件的linux发行版,/usr/bin你可以做到

ln -s /usr/bin/nodejs /usr/bin/node
Run Code Online (Sandbox Code Playgroud)

  • 解决这个问题的正确方法是使用`update-alternatives`.请参阅我的答案http://stackoverflow.com/a/24592328/454615 (8认同)
  • 这不是*Ubuntu 14.04的解决方案,因为`/ usb/sbin/node`是ax24-node(与nodejs无关).只是符号链接到`/ usr/bin/node`是行不通的,因为`/ usr/sbin/node`在`$ PATH`中排在第一位 (5认同)
  • 这在Ubuntu 14.04中完美运行 (2认同)

air*_*nix 52

新答案:

  1. 通过系统软件包管理器(dnf,apt-get等)卸载您安装的任何nodejs软件包,删除您每次升级时重新创建的任何愚蠢的符号链接(lol).
  2. 安装NVM,
  3. 使用nvm安装nodejs:nvm install 6

旧答案:

任何关于创建符号链接或安装其他节点包的讨论都是假的,不可持续.

解决这个问题的正确方法是:

  1. 用apt-get简单安装nodejs包就像你已经拥有的一样
  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
Run Code Online (Sandbox Code Playgroud)

现在,在整个软件包升级,升级等方面都可以实现这一点.


ale*_*lex 35

apt-get install nodejs-legacy.

某些Linux发行版更改了node.js二进制名称,使其与许多node.js包不兼容.Package nodejs-legacy提供了一个符号链接来解决这个问题.

  • 这是Ubuntu 14.04的解决方案,因为`/ usb/sbin/node`是ax24-node(与nodejs无关).只是符号链接到`/ usr/bin/node`是行不通的,因为`/ usr/sbin/node`在`$ PATH`中排在第一位 (2认同)

Edu*_*nis 7

您还可以使用NVMNodejs版本管理器安装Nodejs .使用版本管理器有很多好处.其中一个是你不必担心这个问题.


说明:


sudo apt-get update
sudo apt-get install build-essential libssl-dev
Run Code Online (Sandbox Code Playgroud)

安装必备软件包后,可以从项目的GitHub页面下载nvm安装脚本.版本号可能不同,但一般情况下,您可以使用以下语法下载并安装它:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

这将下载脚本并运行它.它会将软件安装到主目录的子目录中~/.nvm.它还将为您的~/.profile文件添加必要的行以使用该文件.

要访问nvm功能,您需要注销并重新登录,或者您可以获取〜/ .profile文件,以便您当前的会话知道更改:

source ~/.profile
Run Code Online (Sandbox Code Playgroud)

现在您已经安装了nvm,您可以安装隔离的Node.js版本.

要找出可用于安装的Node.js版本,可以键入:

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,撰写本文时的最新版本是v0.11.14.您可以通过输入以下命令安装:

nvm install 0.11.14
Run Code Online (Sandbox Code Playgroud)

通常,nvm将切换为使用最近安装的版本.您可以通过键入以下内容明确告诉nvm使用我们刚刚下载的版本:

nvm use 0.11.14
Run Code Online (Sandbox Code Playgroud)

使用nvm安装Node.js时,可执行文件称为节点.您可以通过键入以下内容来查看shell当前使用的版本:

node -v
Run Code Online (Sandbox Code Playgroud)

可以在这里找到Comeplete教程