当前位置: 首页>>技术问答>>正文


无法安装NodeJ:/usr/bin/env:node:没有这样的文件或目录

ubuntuer 技术问答 , , , , 去评论

问题描述

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

我已经阅读了Ubuntu different way这样做(issues?),所以这就是我为安装它所做的:

sudo apt-get install npm

sudo npm install -g grunt-cli

在那之后打字咕噜我有错误:

/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

但不,错误仍然存​​在:当我输入咕噜声时,我仍然得到/usr/bin/env: node: No such file or directory

我该怎么办?

最佳解决办法

找到了答案。为了防止有人,我会在这里发布:

做一个符号链接解决了这个问题:ln -s /usr/bin/nodejs /usr/bin/node(谢谢你和+1投票给bodokaiser)。

注意:我认为这篇文章并不完全重复,因为该帖子有点像浏览器问题。

次佳解决办法

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

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

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

第三种解决办法

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

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

第四种办法

如果你能够使用nodejs命令访问ubuntu终端上的节点,那么可以使用-creating nodejs和node的符号链接来简单地解决这个问题

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

这可以解决问题

第五种办法

就我而言,installing nodejs-legacy解决了这个问题。

sudo apt-get install nodejs-legacy

第六种办法

做就是了

$ sudo apt-get install nodejs-legacy

它将开始工作。

第七种办法

我发现这通常是一个错误的错误,如果你从一个包管理器安装你bin可能被称为nodejs所以你只需要像这样符号链接它

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

第八种办法

如果您已经安装了nodejs(请与which nodejs一起检查)并且不想安装另一个软件包,您可以以root用户身份:

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99

第九种办法

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

~$ gulp

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

通过执行以下命令删除了这一点,您必须记住/usr /bin目录具有所有权限。

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

这对我有用..

第十种办法

虽然ln -s是一个明显最简单的解决方案,但有一点解释:

Because of a conflict with another package, the executable from the Ubuntu repositories is called nodejs instead of node. Keep this in mind as you are running software.

安装sudo apt-get install nodejs时会出现此建议。

所以其他一些已知的工具(我不知道它的作用。虽然ubuntu存储库已知,但默认情况下在16.04中没有安装)占用该命名空间。

本来不错的,如果Ubuntu已经提供了如何修复这个’cleanly’的建议,如果不是通过手工做什么,否则包将做。 (碰撞仍然是碰撞……如果发生碰撞时会发生碰撞)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7144.html,未经允许,请勿转载。

相关文章