[node]nvs使用的注意事项

原文地址html

在使用nvs以前一直使用的是nvm windows这款工具,用着也挺爽的,前不久看到科普文,因此也想试试,试了以后在windows上翻车了,因此这里记录一下。先看科普文:使用 nvs 管理本地 Node.js 版本node

windows下安装

推荐cmd手动安装步骤git

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手动安装步骤则没有这个问题。github

nvsnpm命令不生效

安装以后在新的终端窗口中nvsnpm不生效时,注意注销从新登陆,或者从新启动一次系统。shell

注意: 尤为是第一次使用nvs link以后,发现nodenpm不会生效,最好注销从新登陆。npm

共用npm全局模块

首先不建议你们跨版本公用全局模块,除非你知道你在干什么。windows

科普文:使用 nvs 管理本地 Node.js 版本 这里有介绍怎么设置。bash

# 使用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)ide

  1. 注意检查全局模块的配置路径,是否正确(坑)

cmdpower shell下添加全局模块环境变量

经过以上的配置在git bash下,全局安装的npm模块工做的很正常,可是在cmd或者power shell会发现找不到命令,尝试过添加到系统变量,可是依然不生效,最后提个issues,官方给了解决方案工具

# 设置完若是不生效,新开一个命令行窗口尝试(若是不行,注销从新登陆)
setx PATH "%PATH%;%USERPROFILE%\.npm-global"
复制代码

设置以后:cmder, cmd , powershell, cygwin统统生效了

注意:

  1. nvs use 是改变当前shell窗口的node版本,不是全局环境(nvm的区别)
  2. nvs link是改变全局环境的node版本

参考

科普文:使用 nvs 管理本地 Node.js 版本

从 nvm 迁移到 nvs

cmder using .bashrc

VS Code Support - Node Version Switcher

xizhibei Node Version Manager

Windows: when use npm prefix share global modules fails

setx

ss64 setx

相关文章
相关标签/搜索