全新M1 MacBook Pro执行gem install bundler出现SSL验证错误如何解决
解决方案
方法1:配置gem使用brew的CA证书(优先推荐,安全无风险)
- 首先安装/更新brew的openssl和CA证书库
brew install openssl ca-certificates
- 查找brew对应的CA证书绝对路径
echo "$(brew --prefix openssl)/etc/cert.pem"
- 将输出的路径配置为gem全局的SSL根证书路径,比如M1芯片Mac默认输出路径为
/opt/homebrew/opt/openssl@1.1/etc/cert.pem的话,执行:
gem config --global ssl_ca_cert /opt/homebrew/opt/openssl@1.1/etc/cert.pem
- 重新执行bundler安装即可
gem install bundler
方法2:升级RubyGems到最新版本(适合证书过旧导致的问题)
如果上述方法无效,是因为你当前安装的Ruby 2.6.6自带的RubyGems 3.0.3版本内置的根证书库太旧,缺少GlobalSign R3根证书,可以手动升级RubyGems:
- 先临时用非HTTPS源更新RubyGems(仅本次临时使用)
gem update --system --source http://rubygems.org/
- 升级完成后验证gem版本是否高于3.2.0
gem -v
- 重新执行bundler安装
gem install bundler
补充说明
asdf安装的Ruby默认不会读取系统钥匙串的证书配置,之前修改的GlobalSign证书信任设置可以改回默认值,避免不必要的安全风险。
内容的提问来源于stack exchange,提问作者gioch
相关产品推荐
相关产品推荐

