介绍
如果你在多個 Node.js 項目上工作,你可能曾經遇到過這個問題,你已經安裝了 Node.js 最新的和最棒的版本,而你要工作的項目需要較舊的版本,在這些情況下,Node 版本管理器(https://github.com/nvm-sh/nvm) (nvm) 是一個很好的工具,允許你安裝多個 Node.js 版本,並隨您所願地切換。
在本教程中,您将安装nvm
,并学习如何安装,删除和切换Node.js的不同版本。
前提条件
要完成本教程,您将需要以下内容:
要在 macOS 上安装 Node,请遵循本教程中描述的步骤 如何在 macOS 上安装 Node.js 和创建本地开发环境 。
步骤1 - 开始
要开始,您需要在您的系统上安装 Node Version Manager,或nvm
。
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
如果你更喜欢wget
,你可以运行这个命令:
1wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
一旦安装,请关闭您的终端应用程序,以便更改生效。您还需要将几个行添加到您的 bash shell 启动文件中。此文件可能名为 .bashrc
, .bash_profile
,或 .zshrc
,取决于您的操作系统。
1export NVM_DIR="$HOME/.nvm"
2[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
3[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
安装了nvm
,您现在可以安装和使用多个版本的 Node.js。
步骤 2 — 安装多个 Node.js 版本
现在你已经安装了nvm
,你可以安装几个不同的 Node.js 版本:
1nvm install 0.10
运行此命令后,这是您的终端应用程序中显示的输出:
1[secondary_label Output]
2Downloading and installing node v0.10.48...
3Downloading https://nodejs.org/dist/v0.10.48/node-v0.10.48-darwin-x64.tar.xz...
4######################################################################### 100.0%
5Computing checksum with shasum -a 256
6Checksums matched!
7Now using node v0.10.48 (npm v2.15.1)
您还可以安装 Node 版本 8 和版本 12:
1nvm install 8
2nvm install 12
在运行每个命令时,‘nvm’将从官方网站下载Node.js的版本并安装它,一旦安装,它还将将您刚刚安装的版本设置为活跃版本。
如果在上述每一个命令后运行节点 - 版本
,则会看到相应主要版本的最新版本。
你也可以运行nvm install 12.0.0
来明确安装 Node.js 的特定 12.0.0 版本。
步骤 3 — 列出已安装的 Node.js 版本
安装了少数不同的 Node.js 版本,我们可以使用ls
参数运行nvm
,列出我们已安装的一切:
1nvm ls
运行此命令产生的输出可能看起来像这样:
1[secondary_label Output]
2 v0.10.48
3 v4.9.1
4 v6.10.3
5 v6.14.4
6 v8.4.0
7 v8.10.0
8 v10.13.0
9 v10.15.0
10 v10.15.3
11 -> v12.0.0
12 v12.7.0
13 system
14default -> v10.15 (-> v10.15.3)
15node -> stable (-> v12.7.0) (default)
16stable -> 12.7 (-> v12.7.0) (default)
17iojs -> N/A (default)
18unstable -> N/A (default)
19lts/* -> lts/dubnium (-> N/A)
20lts/argon -> v4.9.1
21lts/boron -> v6.17.1 (-> N/A)
22lts/carbon -> v8.16.0 (-> N/A)
23lts/dubnium -> v10.16.0 (-> N/A)
您的输出可能取决于您在计算机上安装了多少版本的 Node.js。
小小的->
表示活跃版本,而默认版本
表示Node.js的默认版本.Node的默认版本是当您打开新壳时可用的版本。
您可能想更改您的机器默认的 Node.js 版本,您也可以使用nvm
来完成此操作。
步骤 4 — 设置默认 Node.js 版本
即使在游戏中有多个版本,你有很好的机会有一个版本,你会更愿意运行大部分时间. 通常,这将是Node.js的最新稳定版本。
若要将最新稳定版本设置为默认版本,请运行:
1nvm alias default stable
运行此命令后,这将是您看到的输出:
1[secondary_label Output]
2default -> stable (-> v15.1.0)
您还可能有一个特定的版本号,您希望将其设置为默认值。
1nvm alias default 10.15
1[secondary_label Output]
2default -> 10.15 (-> v10.15.3)
现在,每次你打开一个新的壳,Node.js 版本将立即可用。你所做的某些工作可能需要不同的 Node.js 版本。
第 5 步:在 Node.js 版本之间切换
要切换到另一个 Node.js 版本,请使用nvm
命令使用
,然后使用您想要使用的 Node.js 版本:
1nvm use 0.10
以下是你将看到的结果:
1[secondary_label Output]
2Now using node v0.10.48 (npm v2.15.1)
您甚至可以回到您的默认版本:
1nvm use default
此时,您已安装了多个版本的 Node.js. 您可以使用nvm
来卸载您可能拥有的任何不需要的 Node.js 版本。
步骤 6 — 删除 Node.js 版本
您可能有多个版本的 Node.js 安装,因为您在计算机上工作的各种项目。
幸运的是,您可以像安装它们一样轻松地删除 Node.js 版本:
1nvm uninstall 0.10
以下是运行此命令后会显示的输出:
1[secondary_label Output]
2Uninstalled node v0.10.48
不幸的是,当您指定主要或小版本时,nvm
只会卸载
与版本号匹配的最新安装版本。
因此,如果您安装了 Node.js 版本 6 的两个不同的版本,则必须为每个版本运行卸载
命令:
1[secondary_label Output]
2$ nvm uninstall 6
3Uninstalled node v6.14.4
4
5$ nvm uninstall 6
6Uninstalled node v6.10.3
值得注意的是,您无法删除当前正在使用和活跃的 Node.js 版本。
您可能想返回系统的默认设置并停止使用 nvm. 下一步将解释如何做到这一点。
第7步:卸载Node版本管理器
如果您想从您的机器中完全删除nvm
,您可以使用卸载
命令:
1nvm unload
如果您仍然希望在计算机上保留nvm
,但想要返回系统安装的 Node.js 版本,则可以通过运行此命令进行切换:
1nvm use system
现在您的计算机将返回安装的 Node.js 版本。
结论
在使用不同版本的 Node.js 的多个项目上工作不一定是一个噩梦. Node Version Manager 使过程无缝. 如果你想避免记住要切换版本,你可以通过在项目的根中创建一个 .nvmrc
文件来进一步:
1$ echo "12" > .nvmrc
作为下一步,您可以学习如何创建您自己的 Node.js 程序,使用本教程 如何在 Node.js 中编写和运行您的第一个程序。