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

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

sudo npm cache clean -f sudo npm install -gn sudo npm install -gn 

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

您可以使用不同的节点版本,因为它们是以不同的方式安装的。

  • 一个从官方发行版安装:大多数时候,nodejs命令由一个包(Debian,Ubuntu,…)提供。 这个二进制文件安装在/ usr / bin /下
  • 来自npm存储库的二进制文件:当您使用npm命令和-g参数安装节点时,该软件包将在系统范围内安装(适用于所有用户)。 该软件包安装在/ usr / local / bin /下

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

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

  sudo chown -R $ USER:$(id -gn $ USER)/ home / your-username /.config 

使用your-username替换上述命令中的用户名。

有关节点快照程序包安装和使用的详细信息,请阅读此答案 。