Node.js 版本间的差异使得有些专案需要使用特定的版本才能正常运作,因此各专案间需要来回的切换 Node.js 的版本。要切换 Node.js 版本意味着要重复做安装的动作,这样会使得切换版本浪费太多的时间。
使用 nvm (全名: Node Version Manager)管理 Node.js 版本,让我们可以在系统中安装多个 Node.js 版本,藉由 CLI 任意地切换与安装各种版本的 Node.js ,以便匹配各式专案。
nvm 作为 Node.js 的版本管理工具,可以通过 CLI 指令快速的下载、安装与切换各个不同的版本,大幅减少转换版本所耗费的时间。
使用 cURL 或 Wget 安装 nvm :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
脚本的版本请使用最新的(目前是 v0.38.0 ) 可以到 nvm 的 GitHub 中取得最新版本号。
安装脚本会将 nvm 的程序建立在 ~/.nvm
中,并会变更 profile 档案内容让 nvm 载入。
nvm 只支援 unix 、 macOS 与 windows WSL ,要在 Windows 上执行则要使用
nvm-windows
。
安装完成後,使用 nvm
指令即可执行。
接着会介绍几个常用的 nvm 指令与在专案中指定 Node.js 版本的方式。
在安装 Node.js 前,先使用 nvm ls-remote
找寻所有 Node.js 的版本:
nvm ls-remote
如果只想要找 LTS (全名: Long Term Support )版本:
nvm ls-remote --lts
选定版本後进行安装:
nvm install v10.24.1
一般来说,我们不会需要指定到特定的版本,而且版本号也不利於记忆,因此 nvm 提供了 alias 功能:
nvm install node
Alias node
会指到最新的 Node.js 版本,因此上面的指令表示要安装最新的版本。
我们可以藉由 alias
指令设定自己的别名:
nvm alias project1 14.17.4
也可以使用 unalias
删除别名:
nvm unalias project1
每次开启 Shell 时, nvm 会抓取 alias 为 default
的版本,因此要改变预设的版本,可以修改 default
alias :
nvm alias default 14.17.4
要切换 Node.js 版本时,可以使用:
nvm use 14.17.4
要浏览当前的状态,可以使用:
执行 nvm ls
:
> nvm ls
v4.9.1
-> v14.17.4
system
default -> stable (-> v14.17.4)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v14.17.4) (default)
stable -> 14.17 (-> v14.17.4) (default)
lts/* -> lts/fermium (-> v14.17.4)
lts/argon -> v4.9.1
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.4 (-> N/A)
lts/fermium -> v14.17.4
nvm ls
会显示已安装的版本、目前使用版本及各 alias 的资讯。
如果只要知道当前使用的 Node.js 版本:
nvm version
.nvmrc
档案预设 Node.js 版本nvm 提供使用者 .nvmrc
档案来配置专案预设的 Node.js 版本:
lts/*
.nvmrc
的内容为要使用的版本号或是 alias 。
当专案下有这个档案时,可以不用指定版本直接使用 nvm use
或是 nvm install
, nvm 会依照 .nvmrc
的版本处理。
nvm ls-remote
会搜寻线上所有的 Node.js 版本,如果只想找 LTS 版本的话,可以用 --lts
做过滤。nvm install <version>
安装特定版本的 Node.js 。nvm alias <alias> <version>
可以将特定版本设定别名,别名 default
为 nvm 预设会开启的版本,因此可以将期望的预设版本设为 default
别名。nvm unalias <alias>
删除别名。nvm use <alias/version>
使用特定别名/版本。nvm ls
可以显示目前 Node.js 版本的安装与使用状态。nvm version
当前使用的 Node.js 版本。.nvmrc
的档案,在档案内设定特定的版本,在专案的目录下执行 nvm use
或 nvm install
就会安装 .nvmrc
内所设定的版本。
今天来讲讲两个之後会用到的两个小观念: The Global Object &Function Ex...
上一篇我们准备好部署model之前的环境, 做了下列事情 安装istio 安装seldon 准备pv...
终於来到Class的章节了,Class是ES6所新增,在这之前都是使用Prototype去进行物件导...
昨天我们尝试将 Hexo 备份到储存库另外一个分支,但如果哪一天真正需要使用这个备份还原本机环境怎麽...
20201228 bind > 9.17.7 , dnsdist > 1.3.0 bin...