我正在尝试将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这样的文件或目录

我该怎么办?


当前回答

如果你正在使用NVM节点版本管理器,使用这个命令创建一个符号链接:

sudo ln -s "$(which node)" /usr/bin/node
sudo ln -s "$(which npm)" /usr/bin/npm

第一个命令为节点创建符号链接 第二个命令为npm创建一个符号链接

其他回答

对于那些用nvm安装了NodeJS的人。

如果你像我一样安装、卸载、重新安装了一些版本,你只需要这样做:

NVM使用v14.21.1

或者你使用的任何版本。

这将重新创建到node和npm命令的链接,这些链接在你的“清理”过程中丢失了:D

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

sudo apt-get install nodejs-legacy

如果你能够在ubuntu终端上使用nodejs命令访问node,那么这个问题可以简单地使用 -创建nodejs和node using的符号链接

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

这或许能解决问题

如果你正在使用NVM节点版本管理器,使用这个命令创建一个符号链接:

sudo ln -s "$(which node)" /usr/bin/node
sudo ln -s "$(which npm)" /usr/bin/npm

第一个命令为节点创建符号链接 第二个命令为npm创建一个符号链接

对我来说,公认的答案还不奏效。我的开头是这样建议的:

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

这样做之后,我得到以下错误:

/usr/local/lib/node_modules/npm/bin/npm-cli.js:85 let notifier = require('update-notifier')({pkg}) ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:374:25) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Function.Module.runMain (module.js:442:10) at startup (node.js:136:18) at node.js:966:3

解决方案是从https://nodejs.org/en/download/下载node的最新版本。

然后我说:

sudo tar -xf node-v10.15.0-linux-x64.tar.xz --directory /usr/local --strip-components 1

现在更新终于成功了:npm -v从3.2.1更改为6.4.1