早上打算运行电脑里面一个许久没动过的项目,在输入 npm install 时报了一个错
npm ERR! code CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz failed, reason: certificate has expired
嗯 https://registry.npm.taobao.org 过期了
But
🤔 我记着我设置的是 https://registry.npmmirror.com/ 啊
> npm config get registry
https://registry.npmmirror.com/
尝试 npm config set strict-ssl false
> npm config set strict-ssl false
> npm cache clear --force
> npm install
... // 省略过程
added 1560 packages in 5m
17 packages are looking for funding
😀 嘿嘿成了
不过 npm config set strict-ssl false 是什么意思呢
查了一下,strict-ssl 是 npm 中用于控制 SSL 证书校验的选项,当其为 true 时,npm 会对连接的服务器的 SSL 证书进行严格的校验,并要求它是由可信的认证机构颁发的。如果校验失败,npm 将无法连接到服务器并会报错;当其为 false 时,则 npm 将不会对服务器的 SSL 证书进行校验,并且即使证书是由不可信的认证机构颁发的也不会报错,这就存在一定的安全风险,所以问题解决完了还是赶紧设置回去吧
> npm config set strict-ssl true
2024.05.09 更新
这次是用 yarn 遇到这个问题啦,把项目中的yarn.lock文件删掉再yarn install就好了