mac yarn的时候Error: certificate has expired
时间: 2025-05-31 16:55:18 浏览: 40
### mac 上 Yarn 出现 `Error: certificate has expired` 的解决方案
当在 macOS 上运行 Yarn 时遇到 `Error: certificate has expired` 错误,通常是因为与包管理器通信的远程仓库(如 npm 或淘宝镜像)使用的 SSL/TLS 证书已过期。以下是详细的解决方法:
#### 方法一:更改全局注册表地址
可以通过修改 Yarn 和 NPM 的默认注册表来解决问题。推荐使用国内更稳定的源。
```bash
npm config set registry https://registry.npmmirror.com/
yarn config set registry https://registry.npmmirror.com/ -g
```
此命令将全球范围内的 Yarn 注册表设置为 npmmirror 源[^1],该源提供了稳定的服务并避免了因证书过期引发的问题。
---
#### 方法二:禁用严格 SSL 验证
如果无法更换注册表或者仍然出现问题,则可以尝试关闭严格的 SSL 验证功能。注意这种方法可能会带来一定的安全隐患,因此仅建议临时使用。
```bash
yarn config set "strict-ssl" false -g
```
通过以上配置,Yarn 将不再验证 HTTPS 请求中的 SSL 证书有效性[^1]。完成操作后重新执行安装命令即可正常工作。
---
#### 方法三:更新 Node.js 版本
有时错误可能源于当前使用的 Node.js 版本不支持某些加密算法或协议。升级到最新 LTS 版本有助于修复此类兼容性问题。
访问官网下载页面获取新版本:<https://nodejs.org/>
或者利用工具快速切换不同版本:
```bash
nvm install --lts && nvm use --lts
```
之后再次测试是否还有相同报错情况发生。
---
#### 方法四:处理 OpenSSL 不受支持 (`ERR_OSSL_EVP_UNSUPPORTED`) 的问题
对于部分环境而言,即使解决了证书到期问题仍可能出现另一个关联异常——即 `"ERR_OSSL_EVP_UNSUPPORTED"` 。这是由于旧版 OpenSSSL 缺少对现代密码学标准的支持所致。
要彻底消除这个警告消息,请按照如下步骤调整环境变量:
```bash
export NODE_OPTIONS=--openssl-legacy-provider
```
将其加入 `.zshrc`,`.bash_profile` 文件以便每次启动终端都能生效:
```bash
echo 'export NODE_OPTIONS=--openssl-legacy-provider' >> ~/.zshrc
source ~/.zshrc
```
这样便能强制启用遗留模式下的 OpenSSL 提供者从而绕开限制条件^。
---
#### 总结
综合来看,在 Mac 平台上针对 `certificate has expired` 及其衍生出来的其他潜在隐患采取上述措施能够有效缓解甚至完全根除这些麻烦。优先考虑替换可靠的镜像站点作为首选策略;其次再视具体情况决定要不要放松安全性约束或是优化基础依赖栈本身的状态。
```python
print("All configurations have been applied successfully.")
```
阅读全文
相关推荐




















