一、前言
一般来说,每个公司里总会存在一些中古的项目需要维护。这不,我就遇到了。
为什么要单独开贴说呢?因为当你运行 npm i
后就有可能会报错……例如:
看到上面这个错误提示,我们会下意识地认为需要安装第三方的包。但最终的原因是 node-sass 与 nodejs 版本产生了冲突。点开这个网址(github.com/sass/node-s…)可以看到 node-sass 和 node 之间的支持关系:
当前项目的 node-sass 包版本是 ^4.12.0 的,而我的 node 版本是 16+ 的,支持的 node 最高版本为 12,因此,报了错。
因此,我只要把原来的 node 删掉,然后安装 12 版本的 node 即可解决问题。
但是,通过重新安装对应版本的 node,显然是无法很好管理 node 版本的。
nvm 可以很好地解决这个问题。
二、nvm
根据官方的介绍:
nvm
allows you to quickly install and use different versions of node via the command line.
nvm 允许你通过控制台快速地安装并使用不同版本的 node。
我的系统是 windows,推荐您安装 nvm-windows。
2.1 准备工作
下载前请卸载掉原有的 node,避免后面使用 nvm 出现问题。
2.2 下载
github.com/coreybutler…,在 Assets 中找到并下载 nvm-setup.exe。
2.3 安装
安装很简单,但是要注意两个地方:
- 一个是 nvm 安装的位置
- 一个是 node 安装的位置
为了保证成功,建议将这两个位置放在同一个文件夹里。
然后无脑安装就行。
2.4 使用
之后就依次试试下面这些命令吧~
nvm version # 查看 nvm 版本号 nvm list # 查看现有 node 版本 nvm ls # nvm list 的简写 nvm list available # 查看可下载的 node 版本 nvm install lts # 下载稳定版 nvm install latest # 下载最新版 nvm install 16.16.0 # 下载指定版 nvm use 16.16.0 # 使用 nodejs 16.16.0 nvm uninstall 16.16.0 # 卸载 nodejs 16.16.0
三、总结
但是 windows 总会出现奇奇怪怪的问题,所以,在使用 nvm 命令时,请开启管理员身份。
如果不开启,就可能会有报错。比如:切换 node 版本时会失败:
ok, in a word, nvm 让我们方便地通过终端命令自由切换 node 版本,解决了不同项目需要不同 node 的难题。