最近换了家公司,配备的新电脑需要重新配置开发环境,正好也趁着这个时候,做一个总结归纳。
背景
由于node.js和npm版本更新迭代很快,一些npm包或者我们项目依赖的node和npm版本不同,会导致我们需要安装对应的node版本,由于卸载再重装node的操作相对繁琐,我们需要一个可安装多个node版本并实现切换的方案。
方案1:配置多个环境变量,通过切换环境变量的方式切换node版本
卸载node
如果未安装node,则无该步骤,若已经安装某版本node,则需要卸载对应node
-
如果是使用node安装包(.msi)安装过,则执行以下操作
- 进入控制面板-找到程序功能-选择node-执行卸载
- 删除node相关的文件
C:\Program Files (x86)\Nodejs C:\Program Files\Nodejs C:\Users\{User}\AppData\Roaming\npm(或%appdata%\npm) C:\Users\{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache) C:\Users\{User}\.npmrc(并且可能检查没有.前缀的那个) C:\Users\{User}\AppData\Local\Temp\npm-*
- 删除环境变量中的node和npm相关引用
- 重启任务管理器杀死所有相关进程(或者重新启动,最快)
下载多个node绿色安装包
直接下载node绿色安装包,我一般在node大版本8、10、12中各选一个稳定的版本,我下载的分别是node-v8.17.0-win-x64..zip、node-v10.22.1-win-x64.zip、node-v12.19.0-win-x64.zip
配置系统变量
- 在系统变量中配置 node_8、node_10、node_12三个变量,地址分别指向对应版本的node绿色安装包
-
在系统变量中设置变量node_global,值指向我们上一步定义的某一个node版本的变量
-
在系统变量path后面添加变量 %node_global%
-
命令行修改系统变量(由于path中的node路径未生效,所以目前都是手动更改node_global的值)
// 命令行修改系统变量
set node_global=%node_10%
echo %node_global% //当前node_global 地址
echo %path% //当前path地址
- 命令行修改系统变量只在当前cmd窗口生效
方案2 : 使用nvm实现多版本node切换
卸载已有的node
下载nvm-windows安装包
nvm下载地址 :github.com/coreybutler…
安装
nvm-setup 程序安装步骤
-
解压 nvm-setup.zip,,双击nvm-setup.exe安装,
-
设置nvm安装目录,默认路径C:\Users\wangyue\AppData\Roaming\nvm,这里我加到D盘
- 设置node的安装路径,默认路径:C:\Program Files\nodejs,这里我加到D盘
- 安装成功后,输入nvm -v,输出版本号则安装成功
nvm-setup绿色免装版
- 解压nvm-noinstall;改名nvm,我存放在D盘
- 新建nvm放置当前使用的node存放路径
//nvm 路径
D:\Program Files\nvm
// nvm放置当前使用的node存放路径
D:\Program Files\NodeJs
- 新建两个系统变量
NVM_HOME : D:\Program Files\nvm // 指向nvm.exe
NVM_SYMLINK : D:\Program Files\NodeJs //指向node.exe
- 在系统变量path中增加%NVM_HOME%;%NVM_SYMLINK%;
- 在nvm目录下新增settings.txt 参考github上示例
root: D:\Program Files\nvm //nvm地址 存放多种版本node
path: D:\Program Files\NodeJs //存放当前使用node
arch: 64 //表示安装的node是多少位
proxy: none //设置代理
注意 : nvm安装或者切换版本的时候,不能自动识别操作系统适合哪个版本的node,所以最好自己安装是进行声明
nvm 设置淘宝镜像
node_mirror是更改nvm下载node时的镜像,不设置则默认nodejs.org/dist/
npm_mirror是更改npm下载依赖包的镜像,不设置则默认github.com/npm/npm/arc….
- 方法一,使用cmd命令
nvm node_mirror: https://npm.taobao.org/mirrors/node/
nvm npm_mirror: https://npm.taobao.org/mirrors/npm/
- 方法二,修改setting.txt
//setting.txt node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
nvm切换node版本
-
使用nvm list available;查看可安装的node版本
-
使用nvm install [version] 安装对应版本的node;我下载了8.17.0、10.22.1、12.19.0三个版本
- 使用nvm use [version] 切换指定版本 在这里,我出现了“exit status 1…”报错,原因是我把nvm安装到了有空格的路径上(D:\Program Files),导致切换失败,切换至没有空格的路径上即可,放入需要重新配置系统变量以及setting.text了
nvm相关命令说明
nvm install 安装最新版本nvm
nvm version/nvm current 查看当前nvm的版本
nvm list available:查看可安装的node版本
nvm list/nvm ls 查看已经安装的版本
nvm install <version> 安装特定的node版本
nvm uninstall <version> 卸载特定的node版本
nvm use <version> ## 切换使用指定的版本node
nvm use [version] [arch] 切换制定的node版本和位数
nvm reinstall-packages <version> ## 在当前版本node环境下,重新全局安装指定版本号的npm包
nvm on 打开nodejs控制
nvm off 关闭nodejs控制
nvm alias <name> <version> ## 给不同的版本号添加别名
nvm unalias <name> ## 删除已定义的别名
nvm proxy 查看设置与代理
nvm node_mirror [url] 设置setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/
nvm npm_mirror [url]设置setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.
nvm root [path] 设置和查看root路径
nrm(npm registry manager ) — npm的镜像源管理工具
关于淘宝镜像,介绍一个镜像源管理工具,可以快速的切换npm的镜像源
- 全局安装nrm
npm install -g nrm
- 查看nrm 所有的镜像源地址 nrm ls;带*号的是当前使用源
- 切换镜像源 nrm use [registry]
切换淘宝镜像源
- nrm 命令
nrm -h /nrm -help // 列出nrm的相关命令、信息
nrm -V // nrm版本
nrm ls // 列出nrm所有的镜像源地址
nrm current // 当前使用镜像源
nrm use <registry> // 使用某个镜像源
nrm add <registry> <url> [home] //增加镜像源;registry镜像源名;url 镜像源地址
nrm del <registry> // 删除对应的源。
nrm test <registry> //测试镜像源下载响应时间
今天的文章node 多版本切换的实现方案及nvm的使用分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/22109.html