1. 前言

前段时间接受了个项目,需要切换到14版本的node,结果再切回20的时候,npm等系列指令就用不了了,不知道什么原因,现给出解决方案。

2. 解决办法

1. 卸载nvm及其node

  1. 你可以直接用控制面板卸载程序,卸载nvm
  2. 你也可以直接删除对应文件夹(路径为C:\Users\{username}\AppData\Roaming\nvm),不过要把对应的环境变量删掉
  3. 我这里推荐一个卸载软件,能把注册表也一起删掉。Geek Uninstaller - Download

2. 重装nvm

我只用过Windows,所以这里只给出Windows的下载地址。coreybutler/nvm-windows

下载这个,一路安装下去就行(目前的电脑放不放在其他盘都一样,我一般放在C盘

3. 下载所需node

查看node所有版本

1
nvm list available

下载对应版本

1
nvm install [版本号]

查看node版本号

1
node -v

npm应该也下载好了,查看npm版本

1
npm -v

如果报错了,类似于找不到npm命令的,就去官网下对应版本的npmIndex of /download/release/ (nodejs.org)

下载完成后,解压重命名为npm,然后将该文件夹移动到C:\Users\June\AppData\Roaming\nvm\v[版本号]\node_modules下,然后进入bin目录,将npmnpm.cmd复制到C:\Users\June\AppData\Roaming\nvm\v[版本号]下。

之后再输指令npm -v,应该就大功告成了。

4. yarn报错

管理员身份打开PowerShell,输入set-ExecutionPolicy RemoteSigned,然后确认

这种设置通常用于在允许本地脚本执行的同时,对于从网络或其他不受信任的来源获取的脚本进行一定程度的安全性验证。请确保在更改执行策略之前,仔细考虑潜在的安全风险,并确保只运行信任的脚本。

之后执行get-ExecutionPolicy,查看执行策略是否更改成功。

关闭窗口就OK了

参考链接