切换镜像后pnpm无法使用报错

发了一个npm包,发包的时候要求切换镜像,谁知道切换后pnpm就无法使用了,再切换回淘宝镜像也无济于事,pnpm install my-package 的时候报错:

This modules directory was created using the following registries configuration: {"default":"http://registry.npm.taobao.org/"}. 
The current configuration is {"default":"https://registry.npm.taobao.org/"}. To recreate the modules directory using the new 
settings, run "pnpm install".

查遍全网(比如github),都说执行这两条命令即可:

pnpm install -g 
pnpm install -g pnpm

但是我的电脑就是不行,执行第一条命令就报错:

No package.json found in xxx

试了网上说的什么禁用IPV6,卵用没得,又看到有人说重装pnpm成功了,ok,来重装试试。
在这里插入图片描述

重装pnpm

重装参考文章:https://www.cnblogs.com/jiduoduo/p/17541501.html

1.查看pnpm版本

pnpm -v

2.先把以前的卸载了,在桌面打开命令行工具(git终端),输入which pnpm(之前在vscode下输入命令,报错),找到pnpm的安装位置。
进入目录,这个 f 说的就是我的F盘,我又去F盘下找,果然被我找到了,记住这个路径,这才是你项目所用的路径

/f/nvm/npm

3.然后在当前目录打开命令行工具,输入npm remove pnpm,这个时候在输入pnpm -v 就会报错,说明已经删除成功了
在这里插入图片描述

4.然后重新安装,执行命令npm install pnpm -g,他奶奶的又报错,说咱们的淘宝镜像过期了。
在这里插入图片描述
一查,新鲜的文章2024-01-29才发布的,竟然还有这回事:https://blog.csdn.net/ganyingxie123456/article/details/135850728
说淘宝镜像早就从 registry.npm.taobao.org 切换到了 registry.npmmirror.com,只是直到现在HTTPS 证书到期才真正不能用了。

5.那就切换新的淘宝镜像

npm config set registry https://registry.npmmirror.com

6.切换新的镜像后再执行npm install pnpm -g安装pnpm,没报错了,看样子是成功了。

7.然后输入pnpm -v查看版本,又又又又报错了。说是没找到模块,有人说是没配置pnpm环境变量,于是我决定去配置一下。
在这里插入图片描述

然后查了一圈解决办法,基本上没有一个比较全的解答,搞得我一头雾水,查了一个问题还要去搜第二个问题,那我们就自己记录一个完整一点的方法。

配置pnpm环境变量

参考文章(ps: 先别急着点开操作):https://juejin.cn/post/7158295493812944904

我在桌面新开了一个命令行工具执行npm install pnpm -g后,按照上面这篇参考文章操作一番后对我并不起作用。

而且我还发现,在桌面新开一个命令行和之前的命令行路径不一致,在两个路径下都能找到pnpm
在这里插入图片描述
左边的路径是:F:\nvm\npm
右边的路径是:F:\node\node_global
其实上面的路径就是他们各自的环境变量,而两个我早就都配置过了,那就只能猜测npm install pnpm -g出现了问题,安装的位置不是我想要的位置。
配置环境变量的地方:WIN+S快捷键 -> 编辑系统环境变量 -> 环境变量 -> 双击系统变量的path,就出来下图:
在这里插入图片描述

根据之前的报错信息Error: Cannot find module 'F:\nvm\npm\node_modules\pnpm\bin\pnpm.cjs',我猜测没有安装到/nvm/npm这个目录下。那我就在这个路径的命令行工具下执行npm install pnpm,去掉-g,代表就只安装在该目录下。然后就成功了。

在这里插入图片描述

总结

直接在你删除的那个目录进行 删除、安装 就可以了,不用全局安装。

ps:nvm安装的nodejs包路径配置与系统读取的路径可能不一致就会导致这个问题

  • 34
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值