Node.js 越来越热,应用的场景也越来越多。
在开发中,我们可能同时在进行多个 node 项目,而这些不同的项目所使用的 node 版本又是不一样的,或者是要用更新的 node 版本进行试验和学习。
这种情况下,对于维护多个版本的 node 将会是一件非常麻烦的事情,而 nvm 就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个 node 版本之间切换。
了解更多:
安装 nvm
如果你已经单独安装过 node ,建议卸载 node 并清除 npm 中的全局组件后,再继续 nvm 的安装。
Windows 用户可以直接下载 进行安装。
安装后可以在命令行进行验证:
$ nvm version> 1.1.7# 如果提示不是内部命令,需要手动把 nvm 的安装路径添加到 环境变量 。
其他操作系统用户,可以看这里:
切换源
老生常谈。因为国内网速原因,你可以将 nvm 的默认仓库替换为淘宝的镜像地址。
# nvm node_mirror [url]$ nvm node_mirror https://npm.taobao.org/mirrors/node# nvm npm_mirror [url]$ nvm npm_mirror https://npm.taobao.org/mirrors/npm/
查看 Node
# 查看本地已安装$ nvm list && nvm ls# 查看远程可安装$ nvm list available && nvm ls available
安装 Node
# 安装最新版$ nvm install latest# 安装指定版本# nvm install version$ nvm install v10.15.0
切换 Node
# nvm use version$ nvm use 10.15.0
卸载 Node
# nvm uninstall version$ nvm uninstall v10.15.0
沙箱式存储全局组件
非 nvm 管理的情况下,全局组件是安装到 /usr/local/lib/node_modules
下,然后通过软连接的方式把包中 bin 目录下的可执行文件链接到 /usr/local/bin
。不管用什么版本都装到这些目录下,多版本就没法玩了。
在 nvm 管理下,以沙箱的方式,全局组件会装到 .nvm 目录的当前版本 node 下,也就是装在 nvm 这个沙箱里,跟在指定版本的 node 下,当前有什么版本的 node ,就有对应的全局组件。这是 nvm 强大的地方,在多运行环境的管理和切换极为好用。
简单来说,在 nvm 下,我们可以在不同的 node 版本下,安装不同版本的全局组件。以便灵活的适应我们的开发环境需求。
使用.nvmrc文件运行
当然,nvm 的应用不仅仅局限于我们的开发环境,在线上的服务器中,nvm 也可以得到应用。
为了让不同的应用系统使用各自所需的 node 版本运行,我们只需在各应用系统内的根目录里生成一个 .nvmrc 文件,在其内写一个版本号,利用 nvm run app.js
的方式运行系统,即可完成要求。不过可以的是,目前这项功能只支持linux,OS系统。
参考
- nvm介绍及使用 -- 长城_changcheng: