node.js - 在命令行中运行 Node ,无需 sudo

标签 node.js ubuntu path installation

我在 Ubuntu 服务器上安装了 NodeJS,现在我想知道为什么我不能通过简单地输入“node”来使用它。 “nodejs”工作正常,但只有“node”也应该工作,对吧? “sudo node”也可以工作,所以我认为这可能是 PATH 的问题,但 PATH 变量是相同的:

root@myserver:/# node -v
-bash: /usr/sbin/node: No such file or directory
root@myserver:/# sudo node -v
v8.2.1
root@myserver:/# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
root@myserver:/# sudo echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

我在这里做错了什么?谢谢。

最佳答案

我以前也遇到过这个问题。我开始在 Ubuntu 上像这样安装 Node,仅使用 node 命令从未遇到过任何问题,它刚刚工作:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

请告诉我这是否有效。您可以在这里阅读更多相关信息:https://nodejs.org/en/download/package-manager/

关于node.js - 在命令行中运行 Node ,无需 sudo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45306571/

相关文章:

node.js - (PERL-> NODEJS)500 : Server closed connection without sending any data back

node.js - 如何在 Mongoose 中使用自定义类型?

javascript - 我的 AJAX 代码有什么问题(向服务器发送 Firebase token )?

linux - Ubuntu中/etc/apache2和/usr/sbin/apache2有什么区别?

条件变量适用于 MacOS 但不适用于 Ubuntu

security - 利用和纠正路径遍历漏洞

powershell - Resolve-Path cmdlet 究竟有什么作用?

node.js - SMTP 到 SMTP 协议(protocol)

c - Linux 文件创建大小

java - 如何将文件(带路径)作为Java中方法的参数传递