browserify 错误 /usr/bin/env: node: No such file or directory

IT技术 javascript node.js browserify
2021-03-06 17:45:07

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

npm install browserify -g

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

我收到错误:

/usr/bin/env: node: 没有那个文件或目录

在此处输入图片说明

6个回答

一些 linux 发行版将 nodejs 安装为“nodejs”而不是“node”可执行文件。

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

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

ln -s /usr/bin/nodejs /usr/bin/node
解决这个问题的正确方法是使用update-alternatives. 在此处查看我的答案stackoverflow.com/a/24592328/454615
2021-04-22 17:45:07
不是Ubuntu 14.04 的解决方案,因为/usb/sbin/node是 ax24-node(与 nodejs 无关)。只是符号链接是/usr/bin/node行不通的,因为/usr/sbin/node$PATH
2021-05-06 17:45:07
@EduardoDennis 是的,使用update-alternatives. 它存在于这些确切的情况下。
2021-05-09 17:45:07
实际上更多地考虑这个......如果你想破坏你的系统,像这样对二进制文件进行符号链接是一个很好的习惯。
2021-05-10 17:45:07
是的,我注意到它确实以微妙的方式破坏了它,您找到更好的解决方案了吗?
2021-05-18 17:45:07

新答案:

  1. 卸载您通过系统包管理器(dnf、apt-get 等)安装的任何 nodejs 包,删除您在每次升级时重新创建的任何愚蠢的符号链接(笑)。
  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

现在,这在软件包升级、dist 升级等过程中变得可持续。

这是我的问题的解决方案stackoverflow.com/questions/26155795/...
2021-04-22 17:45:07
谢谢,很好的解决方案,符号链接的技巧是网络上重复最多但对我不起作用的技巧。
2021-05-07 17:45:07
现在实际的正确答案是在 Linux 上使用 NVM,在 Windows 上使用 Nodist。
2021-05-11 17:45:07

运行apt-get install nodejs-legacy

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

apt-get 安装 nodejs-legacy。提示 Windows 用户 'apt-get' 不是内部或外部命令,也不是可运行的程序或批处理文件。
2021-05-06 17:45:07
帮了我。谢谢!
2021-05-08 17:45:07
这是 Ubuntu 14.04 的解决方案,因为/usb/sbin/node是 ax24-node(与 nodejs 无关)。只是符号链接是/usr/bin/node行不通的,因为/usr/sbin/node$PATH
2021-05-11 17:45:07

您还可以使用NVMNodejs 版本管理器安装 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 时,可执行文件称为 node。您可以通过键入以下内容查看 shell 当前正在使用的版本:

node -v

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

是的,加上一个环境版本管理器。尽管我们的方法都是正确的,但绝对比我的答案要好得多。我会说 nvm 更针对交互式工作站而不是生产服务器(但我不明白为什么不能在那里使用它)......我个人更倾向于在生产中使用 docker 图像。
2021-05-07 17:45:07
sudo apt-get install nodejs-legacy

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

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

@Swift Mac OS X 没有 apt-get。参见stackoverflow.com/questions/37369363/...
2021-05-07 17:45:07