我通过 apt-get install 和所有依赖项安装了 node js 和 npm,然后我安装了 browserify
npm install browserify -g
它经历了整个过程,看起来它安装正确,但是当我尝试按照这个演练做一个简单的包时
我得到错误:
/usr/bin/env: node: 没有这样的文件或目录
我通过 apt-get install 和所有依赖项安装了 node js 和 npm,然后我安装了 browserify
npm install browserify -g
它经历了整个过程,看起来它安装正确,但是当我尝试按照这个演练做一个简单的包时
我得到错误:
/usr/bin/env: node: 没有这样的文件或目录
一些 linux 发行版安装 nodejs 不是作为“node”可执行文件,而是作为“nodejs”。
在这种情况下,您必须手动链接到“节点”,因为许多包是在“节点”二进制文件之后编程的。未链接到“python”的“python2”也会发生类似的情况。
在这种情况下,您可以做一个简单的符号链接。对于安装软件包二进制文件的 linux 发行版,/usr/bin
您可以这样做
ln -s /usr/bin/nodejs /usr/bin/node
新答案:
老答案:
任何关于创建符号链接或安装其他节点包的讨论都是虚假的,不可持续的。
解决这个问题的正确方法是:
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 升级等过程中变得可持续。
运行apt-get install nodejs-legacy
。
某些 linux 发行版更改了 node.js 二进制名称,使其与许多 node.js 包不兼容。包nodejs-legacy
提供了一个符号链接来解决这个问题。
您还可以使用NVM或Nodejs Version Manager安装 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
完整的教程可以在这里找到
sudo apt-get install nodejs-legacy
这将创建符号链接/usr/bin/node -> nodejs
。
来源:https ://lists.debian.org/debian-devel-announce/2012/07/msg00002.html
当我在 Linux 中构建 atom 时,我似乎遇到了同样的问题。
sudo apt-get install nodejs-dev
解决我的问题。希望对您有所帮助。
如果你不想符号链接,你可以这样做。在 ubuntu 中工作
#!/usr/local/bin/node --harmony
Harmony 标签用于新的 ECMAscript 和声
运行命令which node
结果将是一些东西
/home/moh/.nvm/versions/node/v8.9.4/bin/node
复制上面的路径,然后在步骤 3 中运行命令。
ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/node
您必须调用“nodejs”而不是“node”。要验证这一点,node -v
请在 shell 上键入:如果没有找到,请尝试nodejs -v
。如果显示版本号,那么您应该使用的命令 isnodejs
和 not node
。因此,您必须将脚本中对 browserify 的调用从更改node
为nodejs
(如下所示):替换
#!/usr/bin/env node
和
#!/usr/bin/env nodejs
您可能还必须以超级用户身份打开脚本。