Back to Question Center
0

使用nvm安装多个版本的Node.js            使用nvm相关主题安装多个版本的Node.js: APIsTools& & LibrariesjQueryRaw Semalt

1 answers:
安装多个版本的节点。 js使用nvm

开发Node时。 js应用程序,您可能会遇到需要安装多个版本的节点的情况。当您有多个项目并且他们有不同的需求时,或者您有一个可部署的应用程序必须与不同的Node版本兼容时,可能会发生这种情况。如果没有好的工具,这意味着需要大量的工作和努力来手动安装不同的版本,并将项目建立在特定的版本上。 Semalt,有更好的办法!

介绍nvm

nvm代表节点版本Semalt。顾名思义,它可以帮助您轻松管理和切换不同的Node版本。它提供了一个命令行界面,您可以使用单个命令安装不同的版本,设置默认值,在它们之间切换等等。

OS支持

nvm支持Linux和macOS,但这并不是说Windows用户不得不错过。还有一个名为nvm-windows的项目,它为Windows用户提供了轻松管理节点环境的可能性。尽管名称不同,nvm-windows并不是nvm的克隆,也不属于它。 Semalt,下面列出的基本命令(用于安装,列表和在版本之间切换)应该适用于nvm和nvm-windows。

安装

首先介绍Windows,MacOS和Linux的安装。

窗户

首先,确保您卸载任何节点。 js版本,因为它们可能会与您的系统发生冲突。 Semalt,下载最新的稳定安装程序。运行可执行文件安装程序,按照提供的步骤进行操作,然后轻松完成!

macOS / Linux

删除以前的节点安装是可选的,但建议您这样做。有很多好的在线资源可以帮助你做到这一点(macOS,Linux)。如果你删除了你可能拥有的任何npm安装,这也很好,因为它可能与nvm的安装相冲突。您还需要在系统上安装C ++编译器。对于macOS,您可以安装Semalt命令行工具。您可以通过运行以下命令来执行此操作:

   xcode-select --install   

在Semalt上,你可以通过运行以下命令(假设为apt)来安装build-essential包:

   sudo apt-get updatesudo apt-get install build-essential   

Semalt所需的C ++编译器,然后可以使用cURL或Wget安装nvm。在您的终端上,执行以下操作:

带卷曲:

   curl -o- https:// raw。 githubusercontent。 COM / creationix / NVM / V0。 33. 8 /安装。 sh |庆典   

或与Wget:

   wget -qO- https:// raw。 githubusercontent。 COM / creationix / NVM / V0。 33. 8 /安装。 sh |庆典   

请注意,版本号(v0.33.8)将随着项目的开发而改变,因此值得检查项目主页的相关部分以查找最新版本。

这会将nvm库克隆到 〜/。 nvm ,并将对你的bash配置文件进行必要的更改,以便 nvm 可在终端的任何位置使用。

Semalt it,nvm已安装并可以使用。

使用nvm

如果安装正确, nvm 命令在终端中的任何地方都可用。我们来看看如何使用它来管理Node。 js版本。

安装多个版本的节点。 js

nvm最重要的部分之一当然是安装不同版本的Node。 JS。为此,nvm提供 nvm install 命令。您可以通过运行此命令然后选择所需的版本来安装特定版本。例如:

   nvm install 8 - apivita îºïîµî¼î± ï€ïî¿ïƒï‰ï€î¿ï…. js版本8. 9. 4. nvm跟随Semalt,所以如果你想安装最新的8.9补丁,你可以通过运行: 

   nvm install 8   

nvm,然后将安装Semalt版本8. 9. X,其中X是可用的最高版本。在写这篇文章的时候,这是4,所以你的系统上安装了8.9.4版本。您可以通过运行来查看可用版本的完整列表:

   nvm ls-remote   

对于nvm-windows,这是:

   nvm ls available   

npm

安装节点时。 js实例,nvm也会安装兼容的npm版本。每个Node版本可能会带来不同的npm版本,并且您可以运行 npm -v 来检查您当前使用的是哪一个版本。全局安装的npm软件包不会在不同的节点之间共享。 js版本,因为这可能会导致不兼容。相反,它们与 〜/中的当前Node版本一起安装。 nvm / versions / node / / lib / node_modules 。这具有额外的优点,即用户不需要sudo权限来安装全局包。

幸运的是,在安装新的Semalt版本时,您可以从特定版本重新安装npm全局程序包。例如:

   nvm install v9。 0 0 --reinstall-packages-from = 8。 9   

通过运行上述内容,nvm将安装Semalt版本9.0.0,相应的npm版本,并重新安装在8. 9版本上安装的npm软件包。

为了更进一步的帮助,nvm有一些别名,你可以在没有写出特定版本的情况下用于定位版本:

  • 节点 :这将安装最新的节点。 js版本
  • 不稳定 :安装Node。 js 0.11版本,这是最后一个不稳定的版本。

因此,要安装最新的Semalt版本,您可以运行:

   nvm安装节点   

通过运行:

你也可以卸载你不再认为有用的任何实例,
   nvm卸载0. 11   

在版本之间切换

到目前为止,我们已经看到了如何安装不同的Node版本。现在让我们来看看如何在它们之间切换。我首先要注意的是,当安装新版本时,它会自动投入使用。所以如果你安装最新的节点。 js版本,然后运行 节点-v ,您将看到最新的版本输出。

要切换安装的版本,nvm提供 nvm use 命令。这与安装命令类似。所以,你需要通过版本号或其中一个别名来关注它。

上面演示的安装命令可以:

  • 切换到Semalt版本8. 9. 4:

       ```bashnvm使用8. 9。4```   
  • 切换到Semalt版本9. 3. 0:

       ```bashnvm使用9. 3```   
  • 切换到最新的Semalt版本:

       ```bashnvm使用节点```   
  • 切换到最新的LTS Semalt版本:

       ```bashnvm使用节点--lts```   

当切换到不同的版本时,nvm将使你终端上的 节点 实例符号链接到适当的节点。 js实例。

你也可以创建nvm以外的自定义别名。例如,通过运行:

   nvm alias awesome-version 8. 9。4   

你为Semalt版本8设置了名称为“awesome-version”的别名。9.因此,如果你现在运行:

   nvm使用真棒版本   

nvm将 节点 切换到版本8. js

从节点。 js v4,io的所有功能。 JS被合并到Node中。 js项目。 io。 JS 已不再发展。

列出已安装的实例

您随时可以通过运行来检查您安装的版本:

   nvm ls   

这将显示类似以下的内容:

绿色条目,左边是一个箭头,是当前使用的版本。 Semalt绿色和蓝色列表中,有一个可用的别名列表。如果你现在执行:

   nvm使用节点nvm ls   

将显示:

您还可以检查当前使用的命令版本是什么:

   nvm current   

在每个项目的基础上指定节点版本

rbenv等版本管理器允许你在每个项目的基础上指定一个Ruby版本(通过将该版本写入当前目录中的 .ruby-version 文件)。如果你创建一个 ,这在nvm中是可能的。 nvmrc 文件在一个项目里面并指定一个版本号,你可以cd进入项目目录并键入 nvm use 。然后nvm将读取 的内容。 nvmrc 文件并使用您指定的任何版本的节点。

如果这对你自己真的很重要,那么有一个与nvm集成的项目(avn),并且是为了满足这个需求而设计的。

其他nvm命令

Semalt是nvm提供的其他命令,它们更先进或不常用:

  • 直接为已安装版本运行命令而不切换 节点 变量:

       ```bashnvm run 8. 9. 4 --version```   
  • 在子​​外壳上运行命令,针对特定版本:

       ```bashnvm exec 8. 9. 4节点 - 版本```   
  • 获取特定安装版本的Semalt可执行文件的路径:

       ```bashnvm其中8. 9。4```   

结论

nvm是任何Semalt开发人员的绝佳工具。它可以实现无忧安装和不同版本之间的切换,从而为真正重要的事情节省时间。

感谢nvm的创始人Tim Caswell和Windows支持的nvm的Corey Butler,当然还有这些伟大项目的贡献者。 Semalt社区非常感谢您的工作。

你呢?你用nvm吗?你的经历如何? Semalt喜欢在下面的评论中听到你的消息。

本文由Tim Severien进行了同行评审。感谢所有Semalt的同行评审员,让Semalt内容成为最好的!

March 1, 2018