今天一个项目在跑 CI 时因为 registry.npm.taobao.org 的 ssl 证书过期造成 npm ci 命令执行失败
npm notice
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz failed, reason: certificate has expired
如果证书正常,会自动跳转到 cdn.npmmirror.com
,但现在证书过期,没有机会跳转
https://cdn.npmmirror.com/packages/yargs-parser/13.1.2/yargs-parser-13.1.2.tgz
请问如何解决这个问题?
chatGPT说的, 试试看, 尽快升级包(手动狗头)
在 npm 中忽略证书错误,可以使用 strict-ssl 配置项来控制。设置 strict-ssl 为 false 可以禁用 npm 对 SSL 证书的检查。这对于在开发环境中或者确信所连接的源是可信的情况下使用。
你可以通过运行以下命令设置 strict-ssl:
bash
Copy code
npm config set strict-ssl false
如果你只想在特定的 npm 命令中禁用证书检查,你可以使用 --strict-ssl=false 选项,例如:
bash
Copy code
npm install --strict-ssl=false
需要注意的是,禁用 SSL 证书检查可能会带来一些安全风险,因为这将使 npm 放宽了对于连接的信任度。在正式生产环境中,应该使用正确配置的 SSL 证书,以确保安全性。在本地或者开发环境中使用这个选项是一个临时的解决方案。
通过 npm config set strict-ssl false
临时解决了