安装Bundler遇301跳转及SSL证书验证失败问题求助
旧版Ruby 2.3.3在Windows上安装Bundler的SSL/301问题解决办法
问题根源
Ruby 2.3.3自带的rubygems版本过旧,既不支持RubyGems官方源的HTTPS 301重定向规则,且内置的SSL根证书早已过期,这两个因素共同导致了安装失败。
可行解决方案
1. 手动更新rubygems到适配版本
Ruby 2.3.x无法通过gem update --system直接更新rubygems,需手动操作:
- 下载适配的rubygems包(推荐
rubygems-2.7.11,这是支持Ruby 2.3.x的最后一个稳定版本) - 解压包到本地目录,打开命令行进入该目录,执行:
ruby setup.rb
2. 临时切换RubyGems源为HTTP(应急用)
临时绕过HTTPS验证,切换到HTTP源(注意:仅临时使用,长期存在安全风险):
gem sources --remove https://rubygems.org/ gem sources --add http://rubygems.org/
完成Bundler安装后,若更新rubygems后HTTPS源可用,建议切回HTTPS源。
3. 更新SSL根证书
- 获取最新的根证书文件(如
cacert.pem) - 找到Ruby安装路径下的
lib\ruby\2.3.0\rubygems\ssl_certs文件夹,替换其中的旧证书文件 - 或者通过环境变量指定证书路径:
set SSL_CERT_FILE=C:\your\path\to\cacert.pem
4. 指定Bundler兼容版本安装
Ruby 2.3.3仅支持Bundler 1.x系列,直接指定版本安装可避免版本匹配问题:
gem install bundler -v 1.17.3 --verbose
验证
执行gem sources -l确认源配置无误,再运行bundler -v检查是否安装成功。
内容的提问来源于stack exchange,提问作者alilland
相关产品推荐
相关产品推荐

