用途:安全升级 Ruby 项目中的单个 gem,或通过 --outdated 批量处理过期依赖。
主要能力:检查 gem 当前与最新版本及跳级类型(patch/minor/major);定位仓库并抓取 releases、CHANGELOG、HISTORY、NEWS 等变更日志;提取当前到目标版本之间的变更,标记破坏性变更、重命名、行为变化、迁移指南、Ruby/Rails 版本要求与弃用项;生成升级分析报告;更新 Gemfile 版本约束;执行 bundle update 并运行测试;测试通过后提交。
使用方式:单 gem 模式输入 gem 名称,先运行 bundle outdated GEM --strict,再用 bundle info GEM --path 定位仓库,抓取变更日志后展示分析,并让用户选择升级到最新 minor、最新版本、指定版本或跳过。更新时编辑 Gemfile,例如 gem 'GEM', '~> MAJOR.MINOR',然后运行 bundle update GEM --conservative。测试自动检测:存在 spec/spec_helper.rb 时运行 bundle exec rspec,存在 test/test_helper.rb 时运行 bundle exec rails test。批量模式运行 bundle outdated --strict,按 patch/minor/major 分组后多选处理。
限制与安全规则:应用前始终展示 diff;测试失败不提交;默认使用 --conservative 避免级联更新;失败时可回滚,执行 git checkout -- Gemfile Gemfile.lock 与 bundle install。具体支持范围与平台要求暂未提供。