在Ruby 1.9.2环境下安装Rails 3.0.3失败求助
解决Ruby 1.9.2安装Rails 3.0.3时的concurrent-ruby版本兼容问题
问题根源
RubyGems新版本(如2.7及以上)在解析旧版Rails依赖时,会自动拉取各依赖库的最新版本,而这些新版本库早已不再支持Ruby 1.9.2——比如concurrent-ruby的当前版本要求Ruby >=2.3,这就导致安装冲突。
解决方案
1. 降级RubyGems到兼容版本
Ruby 1.9.2最高适配的RubyGems版本是1.8.29,先执行降级:
gem update --system 1.8.29
2. 重新安装指定版本的Rails
RubyGems降级完成后,再次执行安装命令:
gem install rails -v 3.0.3
3. 处理其他潜在依赖冲突(可选)
如果仍有其他依赖报错,可手动指定兼容的旧版本依赖后再安装Rails:
# 先安装Rails 3.0.3对应的activesupport版本 gem install activesupport -v 3.0.3 # 忽略依赖自动解析,手动安装Rails gem install rails -v 3.0.3 --ignore-dependencies
之后按需手动安装其他缺失的兼容版本依赖即可。
4. 用旧版Bundler管理依赖(推荐)
如果应用有Gemfile,建议用最后支持Ruby 1.9.2的Bundler版本统一管理:
# 安装兼容的Bundler版本 gem install bundler -v 1.17.3 # 在应用目录执行依赖安装 bundle install
内容的提问来源于stack exchange,提问作者DevAct
相关产品推荐
相关产品推荐

