我正在尝试将nodeJs安装到我的Ubuntu 14.04中,以便使用GruntJs。

我读过关于Ubuntu不同的安装方法(问题?),所以我是这样安装它的:

sudo apt-get install npm

sudo npm install -g grunt-cli

输入grunt之后,我得到了错误:

/usr/bin/env: node: No such file or directory

所以,我试过:

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

sudo apt-get update

再次尝试,仍然得到错误,我尝试了:

sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/

sudo apt-get install -y nodejs

我得到了这个信息:

nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

以防万一,我试着清理了一下:

sudo apt-get autoremove

但是,错误仍然存在:当我输入grunt时,我仍然得到/usr/bin/env: node: No这样的文件或目录

我该怎么办?


当前回答

当我使用gulp时,我得到了这个错误。

~$ gulp

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

这是通过执行以下命令删除的,你必须记住/usr/bin目录拥有所有权限。

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

这对我有用。

其他回答

在我的例子中,安装nodejs-legacy解决了这个问题。

sudo apt-get install nodejs-legacy

当我使用gulp时,我得到了这个错误。

~$ gulp

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

这是通过执行以下命令删除的,你必须记住/usr/bin目录拥有所有权限。

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

这对我有用。

我认为你应该升级最新的节点版本

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

使用符号链接可以解决这个问题:

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

(感谢bodokaiser的回答,并给他+1票)。

问题不在于节点的版本。相反,它是Ubuntu中默认安装NodeJS的方式。在Ubuntu中运行Node应用程序时,你必须运行nodejs something.js而不是Node something.js

因此在终端中调用的应用程序名称是nodejs而不是node。这就是为什么需要一个符号链接来简单地将所有作为节点接收到的命令转发到nodejs。

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