为什么我看到 node 和 nodejs 的不同版本

为什么我看到 node 和 nodejs 的不同版本

我运行以下命令来安装稳定版本的节点

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

现在,当我运行 时node -v,我看到v10.0.0,而nodejs -v返回v4.2.6。据我所知,node 和 nodejs 是同一个东西。为什么我会看到这个?谢谢。

答案1

您可以拥有不同的节点版本,因为它们是通过不同的方式安装的。

  • 从官方发行版安装:大多数情况下,nodejs 命令由软件包(Debian、Ubuntu 等)提供。此二进制文件安装在/usr/bin/
  • 来自 npm 存储库的二进制文件:当您使用 npm 命令安装节点时-G参数,该包安装在系统范围内(可供所有用户使用)。此包安装在/usr/本地/bin/

答案2

node 和 nodejs 具有相同的功能,但它们是不同的版本,因为它们是 Ubuntu 软件中的两个不同软件包。nodejs 是旧版本的 apt 软件包,而 node 是更新的 snap 软件包。大多数 Node.js 用户会更乐意使用最新的 node snap 软件包,因为它会自动更新,并且可以配置为自动更新到最新稳定版本或除特定 Node.js 版本外不更新。后一个功能专为需要使用特定 Node.js 版本的 Node.js 用户而设计。node snap 软件包还支持安装多个 Node.js 版本,这允许用户选择每个项目要使用哪个 Node.js 版本。

node 和 nodejs 之间的一个重要区别是,node 在 snap 包中内置了 npm,而在 nodejs 中必须单独安装 npm。由于 node 包中的 npm 比 apt 版本的 npm 更新得多,因此建议对 node 和 nodejs 都使用更新版本的 npm。安装 node snap 包后,运行以下命令启用 npm 更新检查:

sudo chown -R $USER:$(id -gn $USER) /home/您的用户名/.config

代替 your-username在上面的命令中使用您自己的用户名。

有关节点快照包安装和使用的更多信息,请阅读这个答案

相关内容