文件收录:
个人网址:https://linglan01.cn/
Github: https://github.com/CatsAndMice/blog/issues
为什么要管理Node.js版本?这是我们要先明白的点。
假设我电脑Node.js版本为v14.x
,日常工作中可能会遇到以下场景:
- 我想要尝鲜新版本的Node.js所带来的新特性,顺带提一声Node.js官方近期已发布
v20.x
版本; - 我要给华为云开源的组件库TinyVue贡献一波,运行它要求Node.js版本为
v16.x
; - 团队成员 Node.js 版本不统一: 守旧派用
v12.x
、保守派用v14.x
、激进派用v17.x
,突然某天老板让我去维护守旧派负责的项目,运行后由于Node.js版本不一致直接报错。
如何解决呢?卸载重装?又low还折腾。
如果我们使用Node.js版本管理工具就能任意切换Node.js版本,不需要卸载重装。
它能帮我们做到v12.x
、v14.x
、v20.x
等等版本反复横跳。
简单选型
我们看看社区有哪些Node.js版本管理工具,做一个简单的选型吧。
Node.js版本管理工具 | npm下载量/周 | GitHub Star | 特点 |
---|---|---|---|
nvm | 不支持npm安装 | 66.9k | 支持Linux、MacOS,不支持Windows,Windows设备使用nvm-windows。 |
n | 70k+ | 17.6k | 支持Linux、MacOS;Windows平台必须通过 WSL(Linux 的 Windows 子系统)工作; 无配置,使用简单。 |
nvs | 不支持npm安装 | 2.3k | 基于Node.js开发,跨平台。 |
fnm | 不支持npm安装 | 11.8k | Rust语言编写,一个字快,支持跨平台。 |
再说明一下我的情况:我电脑是MacOS,环境已安装Node.js具备npm包管理器,对Node.js版本管理器功能要求不多,方便我切换Node.js版本就够了,综上我选择n。
选择理由:
- 它支持npm方式安装,不需要我再学习其他不熟悉的安装工具;
- 简单,无需配置;
- 支持MacOS。
童鞋们视自身情况选择合适的Node.js版本管理工具,并不一定要选择n
。
如果您与我的情况一样,推荐使用n
。
n安装
npm/yarn安装:
npm i n -g
# 或
yarn global add n
使用 Brew
安装,未安装可以参考 Brew 官网安装。
brew install n
n命令详情
仅说明常用命令,其他的命令童鞋们自己去研究一波。
命令 | 命令作用 |
---|---|
n lsr | 查看 Node.js 远程版本 |
n i 版本 | 安装指定版本 |
n list | 查看本地已安装的Node.js版本 |
n | 交互式切换Node.js版本 |
n rm 版本 | 删除指定版本 |
n lsr
查看远程版本,默认20条数据,想查看所有的版本使用n lsr —-all
。
安装指定版本n i 版本
,直接安装最新版本n i 20.1.0
。
n list
查看到v20.1.0
已安装至本地。
n
交互式允许我们选择想要的Node.js版本。
over,上述命令足够了,简单吧!!!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ipGRNWp-1683850547804)(https://linglan008-blog.oss-cn-hangzhou.aliyuncs.com/images/%E5%8F%AF%E7%88%B1.webp)]
总结
工欲善其事,必先利其器。
想优雅且快速的切换Node版本,当选n
Node.js版本管理工具。另外也存在其他Node.js版本管理工具,它们各有优劣,童鞋们视自身情况选择。
如果我的文章对你有帮助,您的👍就是对我的最大支持_。
参考
3 分钟掌握 Node.js 版本的区别
【解决】前端开发中的5大痛点
Node.js 版本管理工具 n 最全使用手册