npm命令失败:request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired

原创文章
声明:作者声明此文章为原创,未经作者同意,请勿转载,若转载,务必注明本站出处,本平台保留追究侵权法律责任的权利。
全栈老韩
全栈工程师,擅长iOS App开发、前端(vue、react、nuxt、小程序&Taro)开发、Flutter、React Native、后端(midwayjs、golang、express、koa)开发、docker容器、seo优化等。

一、背景

大家应该都遇到过npm命令执行失败的情况,或者当你升级老web项目时会遇到:request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired。

二、问题

npm verb type system
npm verb stack FetchError: request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired
npm verb stack at ClientRequest. (/Users/hanweixing/.nvm/versions/node/v18.20.2/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
npm verb stack at ClientRequest.emit (node:events:517:28)
npm verb stack at _destroy (node:_http_client:882:13)
npm verb stack at onSocketNT (node:_http_client:902:5)
npm verb stack at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

问题截图:
npm verb stack FetchError

三、解决方案

这个问题是因为taobao的npm镜像过期了,你需要去更新npm的镜像源。

3.1 查看web工程中是否有.npmrc文件

.npmrc文件

如果是在lerna项目管理中,npm命令应该在lerna项目的根目录package.json相同级别目录下执行,那么.npmrc文件应该在根目录下,当然如果packages目录下的项目中有.npmrc文件,可能是单独创建工程遗留的。没有冲突问题。

lerna项目中之需要修改根目录下的.npmrc文件,或者不存在这个文件的话就创建一个就好了。

3.2 修改npm镜像

修改npm镜像

修改的链接如下:

.npmrc 复制代码
# registry=https://registry.npm.taobao.org
registry=https://registry.npmmirror.com/

3.3 清除npm cache

terminal 复制代码
npm cache clean --force

3.4 验证

terminal 复制代码
npm install --verbose

希望对大家有帮助

暂无评论,快来发表第一条评论吧