问题描述
我们在项目中可能会遇到需要切换node版本的问题,我遇到的情况是14.18.0版本不支持pnpm,此时就需要切换node版本,发现nvm正好解决了此问题。
nvm介绍
nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看等等,与npm不同的是,npm是依赖包的管理工具。
nvm的安装
安装包下载地址:https://github.com/coreybutler/nvm-windows/releases,windows系统下载nvm-setup.zip安装包
如果之前已经安装了node,要先卸载node,之后再进行nvm安装,如果没有安装可以直接跳过这一步到下一步了
删除前可查当前使用的node版本,方便后续决定使用哪个版本的node。
控制面板 -> 卸载程序 -> 卸载nodejs
为了确保彻底删除node,看下node安装目录中还有没有node文件夹,有的话一起删除。
删除以下文件夹(如果存在的话)
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users{User}\AppData\Roaming\npm
C:\Users{User}\AppData\Roaming\npm-cache
删除C:\Users\用户名 下的 .npmrc文件以及 .yarnrc 文件
环境变量中npm、node的所有相关统统删掉
配置路径和下载镜像
找到nvm的安装路径,在settings增加两行脚本
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
第一行是 nvm安装路径
第二行是 nodejs路径
第三行是 node下载镜像
第四行是 npm下载镜像
检查nvm是否安装完成
在命令行工具中输入nvm,安装成功则如下显示
nvm命令提示
- nvm arch:显示node是运行在32位还是64位。
- nvm install <version> [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
- nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
- nvm on :开启node.js版本管理。
- nvm off :关闭node.js版本管理。
- nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
- nvm node_mirror [url] :设置node镜像。默认是Index of /dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
- nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
- nvm uninstall <version> :卸载指定版本node。
- nvm use [version] [arch] :使用制定版本node。可指定32/64位。
- nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
- nvm version :显示nvm版本。version可简化为v。
使用nvm安装node版本
使用nvm list available命令示可下载版本的部分列表
nvm install latest安装最新版本,nvm install 版本号 安装指定的版本的nodejs
nvm list或nvm ls查看目前已经安装的版本
切换node版本
nvm use版本号 使用指定版本的nodejs