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

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

npm install browserify -g

它经历了整个过程,似乎它安装正确,但是当我尝试按照本演练做一个简单的捆绑

我收到错误:

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

enter image description here

Eduardo Dennis asked 2019-09-10T19:39:36Z
9个解决方案
242 votes

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

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

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

ln -s /usr/bin/nodejs /usr/bin/node
bodokaiser answered 2019-09-10T19:40:04Z
52 votes

新答案:

  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

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

airtonix answered 2019-09-10T19:41:32Z
35 votes

运行nodejs-legacy

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

alex answered 2019-09-10T19:42:03Z
7 votes

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


说明:


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时,可执行文件称为节点。 您可以通过键入以下内容来查看shell当前使用的版本:

node -v

完整的教程可以在这里找到

Eduardo Dennis answered 2019-09-10T19:43:35Z
3 votes
sudo apt-get install nodejs-legacy

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

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

kamikater answered 2019-09-10T19:44:06Z
0 votes

你必须调用“nodejs”而不是“node”。 要验证这一点,在shell上键入node -v:如果没有找到,请尝试nodejs -v.如果显示版本号,则应使用的命令是nodejs而不是node.因此,您必须在脚本中更改对browserify的调用 从nodenodejs(如下图所示):替换

#!/usr/bin/env node

#!/usr/bin/env nodejs

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

user51324 answered 2019-09-10T19:44:43Z
0 votes

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

sudo apt-get install nodejs-dev

修复我的问题。对你有帮助。

kangear answered 2019-09-10T19:45:16Z
0 votes

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

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

和声标签是为了新的ECMAscript和谐

user2290820 answered 2019-09-10T19:45:50Z
0 votes
  1. 运行命令ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/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

Rifaideen answered 2019-09-10T19:46:37Z
translate from https://stackoverflow.com:/questions/20886217/browserify-error-usr-bin-env-node-no-such-file-or-directory