[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fS2BoShIdU_Gfy9qs9RW_XBJCG3N9cxme8dYzPDAjYp0":3},{"code":4,"message":5,"data":6},200,"成功",{"id":7,"createdAt":8,"title":9,"content":10,"summary":11,"image":12,"uid":13,"user":14,"categoryId":21,"category":22,"subCategoryId":24,"subCategory":25,"comments":27,"status":17,"reason":28,"notice":28,"visitCount":29,"commentCount":30,"keywords":31},124,"2024-08-24T09:17:44.08Z","npm命令失败：request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired","## 一、背景\n大家应该都遇到过npm命令执行失败的情况，或者当你升级老web项目时会遇到：request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired。\n\n## 二、问题\n> npm verb type system\nnpm verb stack FetchError: request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired\nnpm verb stack     at ClientRequest.\u003Canonymous> (/Users/hanweixing/.nvm/versions/node/v18.20.2/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)\nnpm verb stack     at ClientRequest.emit (node:events:517:28)\nnpm verb stack     at _destroy (node:_http_client:882:13)\nnpm verb stack     at onSocketNT (node:_http_client:902:5)\nnpm verb stack     at process.processTicksAndRejections (node:internal/process/task_queues:83:21)\n\n问题截图：\n![npm verb stack FetchError](https://image.xinwei.ltd/image1724490371361.png)\n\n## 三、解决方案\n这个问题是因为taobao的npm镜像过期了，你需要去更新npm的镜像源。\n\n### 3.1 查看web工程中是否有`.npmrc`文件\n![.npmrc文件](https://image.xinwei.ltd/image1724490535035.png)\n\n如果是在lerna项目管理中，npm命令应该在lerna项目的根目录package.json相同级别目录下执行，那么`.npmrc`文件应该在根目录下，当然如果packages目录下的项目中有`.npmrc`文件，可能是单独创建工程遗留的。没有冲突问题。\n\nlerna项目中之需要修改根目录下的.npmrc文件，或者不存在这个文件的话就创建一个就好了。\n\n### 3.2 修改npm镜像\n![修改npm镜像](https://image.xinwei.ltd/image1724490799943.png)\n\n修改的链接如下：\n```.npmrc\n# registry=https://registry.npm.taobao.org\nregistry=https://registry.npmmirror.com/\n```\n\n### 3.3 清除npm cache\n```terminal\nnpm cache clean --force\n```\n\n### 3.4 验证\n```terminal\nnpm install --verbose\n```\n\n希望对大家有帮助\n\n","大家应该都遇到过npm命令执行失败的情况，或者当你升级老web项目时会遇到：request to https://registry.npm.taobao.org/lerna failed, reason: certificate has expired。","https://image.xinwei.ltd/image1724490371361.png",499668042977349,{"phone":15,"userId":13,"nickName":16,"vipType":17,"avatar":18,"sign":19,"createdAt":20},"13121171998","全栈老韩",1,"https://image.xinwei.ltd/images/IMG_5430.JPG","全栈工程师，擅长iOS App开发、前端（vue、react、nuxt、小程序&Taro）开发、Flutter、React Native、后端（midwayjs、golang、express、koa）开发、docker容器、seo优化等。","2024-01-01T16:14:30.305Z",2,{"id":21,"name":23},"IT技术",32,{"id":24,"name":26,"parentId":21},"前端",[],"",71,0,"npm registry,npm registry error,npm change registry,npm镜像"]