【NodeJS】- 使用NVM安装npm失败后,手动安装npm

安装NVM之后,我们通常会配置镜像,在setting文件中,添加镜像路径

1
2
node_mirror: https://npm.taobao.org/mirrors/node
npm_mirror: https://npm.taobao.org/mirrors/npm

但是这两天镜像突然炸了,于是我删掉了镜像地址,使用官方直接下载。

但是npm下载非常困难,而且高版本的npm还存在workspaces文件引入失败问题,需要手动拷贝文件,削微有点麻烦,所以记录一下折腾的过程。

1、首先我们选择一个node的版本进行下载,如图所示,下载20.1.0版本的node成功了,但是对应的9.6.4版本的npm下载失败了

 

 

 2、我们打开npm下载的网页(https://registry.npmmirror.com/binary.html?path=npm/),找到对应的npm包进行下载

 

3、找到NVM安装目录,将下载的npm包拷贝到对应的目录中,并解压,然后将解压出来的文件名,改为 npm

 

 

4、我使用7z解压的时候,会出现没有权限的问题,如下图所示,用管理员运行7z软件,然后解压就行了

 

 5、在【开始】栏,右击7-zip软件,然后点【以管理员身份运行】

 

 6、然后在解压软件中将npm包解压出来,再强调一遍,记得将解压出来的文件【cli-9.6.4】改名成【npm】

 

 

 7、然后进到npm文件夹下的bin文件夹中,将里面的四个文件拷贝出来,如图所示

 

 拷贝到如图位置

 

8、此时我们使用nvm切换到20.1.0版本的node,查看npm版本的时候,会出现错误

 

 

 有些版本查看版本时不会出错,但是在下载时,会报错:

1
2
3
4
5
6
7
8
9
10
11
12
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'libnpmfund'
npm ERR! Require stack:
npm ERR! - C:\Users\LENOVO\AppData\Roaming\nvm\v16.20.1\node_modules\npm\lib\utils\reify-output.js
npm ERR! - C:\Users\LENOVO\AppData\Roaming\nvm\v16.20.1\node_modules\npm\lib\utils\reify-finish.js
npm ERR! - C:\Users\LENOVO\AppData\Roaming\nvm\v16.20.1\node_modules\npm\lib\commands\install.js
npm ERR! - C:\Users\LENOVO\AppData\Roaming\nvm\v16.20.1\node_modules\npm\lib\npm.js
npm ERR! - C:\Users\LENOVO\AppData\Roaming\nvm\v16.20.1\node_modules\npm\lib\cli.js
npm ERR! - C:\Users\LENOVO\AppData\Roaming\nvm\v16.20.1\node_modules\npm\bin\npm-cli.js
 
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\LENOVO\AppData\Local\npm-cache\_logs\2024-01-30T05_06_13_698Z-debug-0.log

问题都是类似的,就是npm的node_modules中的有些库不完整,我们进到node_modules文件夹中拉到最下面,就会看见,很多库都是通过 ../workspaces/libnpmaccess 的形式引入的,但是在Windows环境下, 这个链接是不管用的,所以我们需要手动引入这些文件。

但是值得注意的是,除了node_modules文件夹下有这些链接,node_modules/@npmcli下也有,如图所以,我们要对照一下这些文件的位置,千万不要弄错了

 

 9、找到 workspaces 中的对应文件,拷贝到对应的文件夹下,不同版本的文件有些不同,有些没有config文件,arborist和config拷贝到 node_modules/@npmcli,其他的拷贝到 node_modules 下,记得拷贝前,将链接先删掉

 

10、此时我们再查看npm的版本,已经没问题了,下载yarn也没问题

 

posted @   迷你胡丶  阅读(976)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
历史上的今天:
2023-01-30 【K8s】- StorageClass网络持久化存储
点击右上角即可分享
微信分享提示