NVM下载低版本的Node.js时报错The process cannot access the file because it is being used by another process
1.、问题产生的原因
在使用NVM下载低版本的Node.js(14.21.3)时控制台抛出以下错误

从控制台中给出的报错信息中可以看出,Node下载成功了(在NVM指定的path路径下可以看到对应版本的Node.js),但是npm没有下载成功
具体的原因是npm压缩包的保存路径和nvm提取压缩包的路径不一致

2、解决方法
其实,在GitHub上也有人遇到了类似的问题,具体可以参考https://github.com/coreybutler/nvm-windows/issues/1229
原作者在GitHub上表示已经将修复这个问题提上日程,但是截至2025年4月11日,官方还没有修复这个BUG,那是不是意味着使用nvm之后没有办法管理低版本的Node.js了吗
当然不是,如果知道了NVM管理多个Node.js版本的原理,解决这个BUG将轻而易举
2.1 删除下载失败的Node.js版本
在NVM指定的path路径下找到刚才下载失败的Node.js版本,将其删除(如果不知道NVM指定的root目录是哪个,可以查看NVM根目录下的setting.txt文件)

2.2 手动下载对应版本的Node.js
手动下载对应版本的Node.js,下载地址:Index of /download/release/v14.21.3/(需要下载哪个版本,就将网址中的14.21.3换成对应的版本)

2.3 解压压缩包并重命名文件夹
将下载好的压缩包解压,并将解压后的文件夹命名为Node.js的对应版本。例如,如果下载的Node.js版本为14.21.3,文件夹命名就是v14.21.3
文件夹中的文件列表如下图所示

2.4 移动文件夹
将重命名好的目录移动到NVM指定的root目录下(如果不知道NVM指定的root目录是哪个,可以查看NVM根目录下的setting.txt文件)

2.5 成功解决后的界面
完成以上步骤后,我们按下Win + R快捷键,输入cmd打开终端,在终端中输入nvm list指令,就可以看到我们刚下载的14.21.3版本的Node.js已经纳入NVM的管理列表了 ,切换到14.21.3版本的Node.js即可

更多推荐
所有评论(0)