Windows系统中使用nvm切换Node.js版本后版本未生效的问题求助
Windows系统中使用nvm切换Node.js版本后版本未生效的问题求助
我来分享几个亲测有效的解决思路,应该能帮你搞定这个版本切换不生效的问题:
先还原下你的问题场景,方便对照排查:
C:\>node -v v20.9.0 C:\>nvm ls 18.12.1 14.19.0 C:\>nvm use 18.12.1 Now using node v18.12.1 (64-bit) C:\>node -v v20.9.0
可能的解决方案:
用管理员权限打开终端:Windows下nvm切换版本时需要修改系统级环境变量,普通权限的终端可能没权限完成这个操作。你可以关掉当前所有终端窗口,右键点击终端(或CMD)选择「以管理员身份运行」,再重新执行
nvm use 18.12.1,之后再查node -v试试。检查环境变量的优先级:很大概率是你之前直接安装过Node.js,系统PATH里还留着旧的Node路径,而且这个路径排在nvm路径的前面,导致终端优先调用旧版本。可以这么操作:
- 右键「此电脑」→「属性」→「高级系统设置」
- 切换到「环境变量」标签,在「系统变量」里找到
PATH - 看看有没有类似
C:\Program Files\nodejs的路径,如果有,把它拖到nvm相关路径的下方,或者直接删除(如果已经用nvm管理Node,建议彻底卸载之前单独装的Node)
重启终端甚至电脑:有时候环境变量的修改不会立刻生效,重启终端是最快速的验证方式;如果还是不行,重启电脑让系统重新加载所有配置试试。
检查nvm的安装路径和配置:nvm非常排斥中文和空格路径,如果你把它装在
C:\Program Files\nvm或者带中文的文件夹里,很容易出问题。建议把nvm移到无空格无中文的路径(比如C:\nvm),然后打开nvm安装目录下的settings.txt,确认配置是正确的:root: C:\nvm path: C:\nvm\nodejs验证Node的实际调用路径:执行
where node命令,看看输出的路径是不是nvm对应版本的路径。如果输出的是旧的Node安装路径,那就是环境变量的问题;如果是nvm的路径但版本不对,可以试试更新nvm到最新版本,或者先卸载再重新安装对应版本的Node(nvm uninstall 18.12.1→nvm install 18.12.1)
备注:内容来源于stack exchange,提问作者Rashid
相关产品推荐
相关产品推荐

