早上打算运行电脑里面一个许久没动过的项目,在输入 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
就好了