在使用
nvs
之前一直使用的是nvm windows
这款工具,用着也挺爽的,前不久看到科普文,所以也想试试,试了之后在windows
上翻车了,所以这里记录一下。先看科普文:使用 nvs 管理本地 Node.js 版本
windows
下安装
git bash环境配置
# ~/.bashrc 添加下面的环境配置
# 根据你安装的路径选择$ProgramData 或者 $LOCALAPPDATA
export NVS_HOME=$LOCALAPPDATA/nvs
. $NVS_HOME/nvs.sh
复制代码
git bash中nvs
报错找不到命令
nvs v1.5.1
使用MSI
或者choco install nvs
安装之后可以正常使用,但是会缺失nvs.sh
,如果你在git bash
下使用nvs
会出现找不到命令,后续版本会修复这个问题。推荐cmd手动安装步骤则没有这个问题。
nvs
和npm
命令不生效
安装之后在新的终端窗口中
nvs
和npm
不生效时,注意注销重新登录,或者重新启动一次系统。
注意: 尤其是第一次使用nvs link
之后,发现node
和npm
不会生效,最好注销重新登录。
共用npm
全局模块
首先不建议大家跨版本公用全局模块,除非你知道你在干什么。
科普文:使用 nvs 管理本地 Node.js 版本 这里有介绍怎么设置。
# 使用git bash创建
mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global
复制代码
# .bashrc中添加全局模块的路径
# 注意~/.npm-global/ 不是~/.npm-global/bin
# windows 10下没有bin文件夹,所以最好检查下。。。
echo "export PATH=~/.npm-global/:$PATH" >> ~/.bashrc
source ~/.bashrc
复制代码
注意: (nvs v1.5.1
)
- 注意检查全局模块的配置路径,是否正确(坑)
cmd
和power shell
下添加全局模块环境变量
通过以上的配置在
git bash
下,全局安装的npm
模块工作的很正常,但是在cmd
或者power shell
会发现找不到命令,尝试过添加到系统变量,但是依然不生效,最后提个issues,官方给了解决方案。
# 设置完如果不生效,新开一个命令行窗口尝试(如果不行,注销重新登录)
setx PATH "%PATH%;%USERPROFILE%\.npm-global"
复制代码
设置之后:cmder
, cmd
, powershell
, cygwin
通通生效了
注意:
nvs use
是改变当前shell
窗口的node
版本,不是全局环境(nvm的区别)nvs link
是改变全局环境的node
版本
参考
VS Code Support - Node Version Switcher