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

时间:2014-01-02 15:32:47

标签: javascript node.js browserify

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

npm install browserify -g

它经历了整个过程,看起来它安装得正确,但是当我尝试按照walkthrough

进行简单的捆绑时

我收到错误:

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

enter image description here

9 个答案:

答案 0 :(得分:242)

某些Linux发行版安装nodejs不是“node”可执行文件,而是“nodejs”。

在这种情况下,您必须手动链接到“节点”,因为在“节点”二进制文件之后编程了许多包。 “python2”没有链接到“python”也会出现类似情况。

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

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

答案 1 :(得分:52)

新答案:

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

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

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

    1. 使用apt-get简单安装nodejs包,就像你已经拥有
    2. 一样
    3. 使用update-alternatives表示您的nodejs二进制文件负责#!/usr/bin/env node
    4. 像这样:

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

      现在,在整个软件包升级,升级等方面,这一点都可以持续。

答案 2 :(得分:35)

运行apt-get install nodejs-legacy

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

答案 3 :(得分:7)

您还可以使用 NVM Nodejs版本管理器安装Nodej。使用版本管理器有很多benefits。其中一个是你不必担心这个问题。


说明:


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

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

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

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

node -v

可以找到最佳教程here

答案 4 :(得分:3)

sudo apt-get install nodejs-legacy

这会创建符号链接/usr/bin/node -> nodejs

来源:https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html

答案 5 :(得分:0)

你必须调用“nodejs”而不是“node”。要验证这一点,请在shell上键入node -v:如果找不到任何内容,请尝试nodejs -v。如果显示版本号,那么您应该使用的命令是nodejs而不是node。因此,您必须将脚本中的browserify调用从node更改为nodejs(如下所示):replace

#!/usr/bin/env node

#!/usr/bin/env nodejs

您可能还必须以超级用户身份打开脚本。

答案 6 :(得分:0)

当我在Linux中构建atom时,我似乎遇到了同样的问题。

sudo apt-get install nodejs-dev

修复我的问题。对您有所帮助。

答案 7 :(得分:0)

如果您不想使用符号链接,则可以执行此操作。 适用于ubuntu

x=[1:.1:10 1000];
y=[1:.1:10 2000];

和声标签用于新的ECMAscript和谐

答案 8 :(得分:0)

  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