Cargo install执行失败,出现SSL证书过期错误
Cargo安装依赖报SSL证书过期的解决办法
旧项目能正常运行是因为本地已经缓存了所需依赖,无需重新下载;而新项目需要拉取新依赖时,本地系统的根证书库过期,导致无法验证crates.io的SSL证书,从而触发报错。
以下是具体修复步骤:
更新系统根证书
根据你的操作系统执行对应命令:- Debian/Ubuntu:
sudo apt update && sudo apt install --reinstall ca-certificates - macOS:可以通过更新系统到最新版本自动刷新证书,或者打开「钥匙串访问」删除过期的根证书;也可执行
sudo security delete-certificate -Z <证书SHA-1哈希值>(需先查找到过期证书的哈希) - Windows:打开「控制面板→Internet选项→内容→证书」,删除过期的根证书,或通过Windows更新安装最新的证书补丁
- Debian/Ubuntu:
重置Cargo的SSL证书配置
检查是否配置了自定义证书路径:cargo config get http.ssl.cert
如果有返回自定义路径,执行cargo config unset http.ssl.cert,让Cargo默认使用系统根证书清理Cargo缓存后重试
先清理项目本地缓存:cargo clean
再删除crates.io索引缓存:- Linux/macOS:
rm -rf ~/.cargo/registry/index - Windows:
rd /s /q %USERPROFILE%\.cargo\registry\index
之后重新执行cargo install reqwest或cargo add命令
- Linux/macOS:
内容的提问来源于stack exchange,提问作者Happy Machine
相关产品推荐
相关产品推荐

