开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情
解决问题:各个项目之间用到的Node版本可能不一致,当高版本Node项目需要在低版本Node环境中运行时,可能报错,然而在电脑上只全局安装了一个Node版本,不可能因为一个项目需要不同的Node的版本而重新安装Node,所以,使用nvm可以帮你轻松自在的切换Node版本
一、安装
nvm就是一个正常的电脑软件,像其他软件一样进行安装即,可在github上下载nvm的安装包资源
安装之前,必须把本地已安装的node版本卸载掉,避免出现其他问题
安装完成后,打开CMD窗口,运行 nvm 指令,如果打印不报错,可以看到nvm的安装版本,即安装成功
二、通过nvm管理node版本
1、查看当前已安装node的版本
nvm list
使用上面指令,会打印出电脑上所有安装的node版本,* 标志代表当前使用的node版本
2、查看可安装node的版本
nvm ls available
3、安装新的node版本
nvm install 10.0.0 # 安装指定版本
nvm install latest # 安装最新版本
10.0.0是node的版本号,下载完成后,再运行nvm list命令,可以看到刚刚安装的node版本
3、切换node版本
nvm use 15.1.0
4、卸载node
nvm uninstall 15.1.0
5、给node版本定义别名
nvm alias default 15.1.0
给15.1.0版本指定别名为 defalut
在需要切换时,可以直接使用别名:
nvm use default
三、通过nvm安装node版本后,npm指令不生效
目前我知道的有两种情况:
1、安装之前node版本没有卸载掉,可能会导致这样的错误
解决方法:
卸载nvm、node,删除npm下载的文件夹,重新安装nvm并通过nvm安装node版本
2、安装node时报错了:
Downloading npm version 6.14.8... Error while downloading github.com/npm/cli/arc… - Get github.com/npm/cli/arc…: read tcp 192.168.0.75:50467->52.74.223.119:443: wsarecv: An existing connection was forcibly closed by the remote host
这个错误的意思就是:在安装npm的时候,访问下载地址出错了,这和你网络有关系,这时候如果你通过浏览器访问github,大概率是访问不到的
解决方案:
设置npm下载地址:打开nvm安装目录 -> 打开setting.txt文件 -> 在末尾在上这两句
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
保存关闭之后,重新安装node版本,如果没有报错,再切换node版本时,应该就可以执行npm指令了
小技巧:
刚安装的时候,npm用不了,在网上查了为啥nvm安装node,npm会失效,我把现有的node版本都卸载掉,npm目录也删除,nvm也重新安装了,还是不行!!
在网上还看到很多博客跟风说nvm某版本后,就安装不了npm了,要手动下载npm,放到node版本文件下......
我第一反应就是:啊?这么麻烦,这还是程序员吗?nvm更新了那么多版本,如果要这么麻烦,谁还愿意用啊
最后我自己再看了一下nvm安装node的过程,终于看到是npm安装地址访问不了报错了,最后也顺利用上了nvm,还是自己粗心了,太着急。
网上各种博客已经很多了,但是在看博客的时候一定要保持怀疑之心,不要盲目跟风,自己多动手检验一下