背景
使用n管理node版本有个问题,就是node和npm升级为高版本之后,再用n把node降级为低版本,这个时候npm的版本没有降下来,然后每次运行项目就会出下面这个提示
npm WARN npm npm does not support Node.js v10.24.1
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm You can find the latest version at https://nodejs.org/
问题原因
就是使用nvm来管理node版本,nvm是独立于npm和node的shell模块,不依赖node和npm的安装,而n是一个node模块,本身依赖node的安装,它自己就是用npm安装的,所以在切换node版本的时候,他并没有顺带把npm版本切换过去。所以我们改为使用nvm来管理node版本会更好一些。
在mac上安装nvm我们使用这个命令就会报错
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
报错信息
fatal: 无法访问 'https://github.com/creationix/nvm.git/':Failed to connect to github.com port 443
尝试设置github代理都不行。
解决办法
使用gitee镜像安装nvm到本地
git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
提示nvm安装成功,并且带有版本号
设置nvm环境变量
编辑~/.bash_profile,设置环境变量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
然后
source ~/.bash_profile
这样就安装好了
查看nvm
使用nvm安装node
nvm install v10.24.0
这样npm对应的版本也会安装好。
可以使用nvm ls
来查看node环境。
使用nvm use x.x.x来切换node版本。
这样就大功告成了。