介绍
如果您处理多个 Node.js 项目,您可能会遇到过这样的情况。您已经安装了最新和最好的 Node.js 版本,并且您将要处理的项目需要旧版本。在这些情况下,节点版本管理器(nvm) 是一个很好的工具,它允许您安装多个版本的 Node.js 并根据需要在它们之间切换。
在本教程中,您将安装nvm
并学习安装、删除和在不同版本的 Node.js 之间切换。
先决条件
要完成本教程,您将需要以下内容:
- 您的机器上安装了最新版本的 Node。要在 macOS 上安装 Node,请按照如何在 macOS上安装 Node.js 和创建本地开发环境教程中概述的步骤操作。
第 1 步 – 入门
要开始使用,您需要nvm
在您的系统上安装 Node Version Manager 或。您可以通过运行以下命令手动安装它:
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
如果您愿意wget
,可以运行以下命令:
- wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
安装后,关闭您的终端应用程序以使更改生效。您还需要在 bash shell 启动文件中添加几行。此文件可能有名字.bashrc
,.bash_profile
或者.zshrc
根据您的操作系统上。为此,请重新打开您的终端应用程序并运行以下命令:
- export NVM_DIR="$HOME/.nvm"
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
- [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
随着nvm
安装,您现在就可以安装和使用Node.js的多个版本的工作
第 2 步 – 安装多个 Node.js 版本
现在你已经nvm
安装好了,你可以安装几个不同版本的 Node.js:
- nvm install 0.10
运行此命令后,这是将显示在您的终端应用程序中的输出:
OutputDownloading and installing node v0.10.48...
Downloading https://nodejs.org/dist/v0.10.48/node-v0.10.48-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v0.10.48 (npm v2.15.1)
您还可以安装 Node 版本 8 和版本 12:
- nvm install 8
- nvm install 12
运行每个命令后,nvm
将从官方网站下载 Node.js 版本并安装它。安装后,它还会将您刚刚安装的版本设置为活动版本。
如果您node --version
在上述每个命令之后运行,您将看到相应主要版本的最新版本。
nvm
也不限于主要版本。您还可以运行nvm install 12.0.0
以显式安装 Node.js 的特定 12.0.0 版本。
步骤 3 — 列出已安装的 Node.js 版本
安装了几个不同版本的 Node.js 后,我们可以nvm
使用ls
参数运行以列出我们已安装的所有内容:
- nvm ls
运行此命令产生的输出可能如下所示:
Output v0.10.48
v4.9.1
v6.10.3
v6.14.4
v8.4.0
v8.10.0
v10.13.0
v10.15.0
v10.15.3
-> v12.0.0
v12.7.0
system
default -> v10.15 (-> v10.15.3)
node -> stable (-> v12.7.0) (default)
stable -> 12.7 (-> v12.7.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0 (-> N/A)
lts/dubnium -> v10.16.0 (-> N/A)
您的输出可能会有所不同,具体取决于您在计算机上安装了多少个 Node.js 版本。
little->
表示活动版本,default ->
表示 Node.js 的默认版本。Node 的默认版本是打开新 shell 时可用的版本。system
与安装在nvm
系统外部的 Node.js 版本相对应。
您可能想要更改您的机器默认使用的 Node.js 版本。您也可以使用它nvm
来完成此操作。
第 4 步 – 设置默认的 Node.js 版本
即使同时处理多个版本,您也很有可能拥有一个您希望大部分时间运行的版本。通常,这将是 Node.js 的最新稳定版本。在本教程发布期间,Node.js 的最新稳定版本为 15.1.0。
要将最新的稳定版本设置为默认版本,请运行:
- nvm alias default stable
运行此命令后,这将是您看到的输出:
Outputdefault -> stable (-> v15.1.0)
您可能还想将特定版本号设置为默认版本。要别名默认为特定版本,请运行:
- nvm alias default 10.15
Outputdefault -> 10.15 (-> v10.15.3)
现在每次打开一个新的 shell 时,该版本的 Node.js 都会立即可用。您所做的某些工作可能需要不同版本的 Node.js。这也是nvm
可以帮助你的东西。
第 5 步 – 在 Node.js 版本之间切换
要切换到不同版本的 Node.js,请使用以下nvm
命令,use
后跟您要使用的 Node.js 版本:
- nvm use 0.10
这是您将看到的输出:
OutputNow using node v0.10.48 (npm v2.15.1)
您甚至可以切换回默认版本:
- nvm use default
此时,您已经安装了多个版本的 Node.js。您可以使用nvm
卸载任何不需要的 Node.js 版本。
第 6 步 – 删除 Node.js 版本
由于在您的机器上处理各种项目,您可能安装了多个版本的 Node.js。
幸运的是,您可以像安装它们一样轻松地删除 Node.js 版本:
- nvm uninstall 0.10
这是运行此命令后将显示的输出:
OutputUninstalled node v0.10.48
不幸的是,当您指定主要版本或次要版本时,nvm
只会uninstall
显示与版本号匹配的最新安装版本。
因此,如果您安装了两个不同版本的 Node.js 版本 6,则必须uninstall
为每个版本运行以下命令:
Output$ nvm uninstall 6
Uninstalled node v6.14.4
$ nvm uninstall 6
Uninstalled node v6.10.3
值得注意的是,您无法删除当前正在使用且处于活动状态的 Node.js 版本。
您可能希望返回系统的默认设置并停止使用 nvm。下一步将解释如何做到这一点。
步骤 7 — 卸载节点版本管理器
如果您想nvm
从您的机器上完全删除,您可以使用以下unload
命令:
- nvm unload
如果您仍想继续nvm
使用您的机器,但您想返回到系统安装的 Node.js 版本,您可以通过运行以下命令进行切换:
- nvm use system
现在您的机器将返回到已安装的 Node.js 版本。
结论
处理使用不同版本 Node.js 的多个项目不一定是一场噩梦。节点版本管理器使过程无缝。如果您想避免必须记住切换版本,您可以通过.nvmrc
在项目的根目录中创建一个文件来更进一步:
- $ echo "12" > .nvmrc
作为下一步,您可以学习如何使用 Node.js教程编写和运行您的第一个程序来创建您自己的 Node.js 程序。