You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装新版Bundler后仍显示旧版本 无法正常更新问题求助

问题根源

核心是系统Ruby环境的可执行路径优先级问题,旧版Bundler 1.11.2的可执行文件在优先级更高的路径下,新安装的2.2.31版本路径没有被优先加载,这也是你执行bundle _2.2.31_ install提示找不到命令的核心原因。

分步解决方法
  • 首先确认所有已安装的Bundler版本和路径
    执行gem list bundler确认两个版本都在已安装列表中,再执行which -a bundle查看所有bundle可执行文件的路径,输出结果第一条就是当前优先调用的旧版路径,后续条目为新版路径。

如果你只是临时需要在当前项目使用新版Bundler,可以直接指定全路径调用,比如假设which -a bundle输出的新版路径是/usr/local/bin/bundle,直接执行 /usr/local/bin/bundle install 即可。

  • 全局替换为匹配项目要求的Bundler版本

    1. 卸载所有已安装的Bundler版本:执行sudo gem uninstall bundler,在弹出的选择列表中选中所有版本完成卸载
    2. 安装与Gemfile.lock要求匹配的版本,避免后续版本兼容问题:执行sudo gem install bundler -v 2.2.19
    3. 重置RubyGems的可执行文件软链:执行gem pristine bundler
    4. 验证版本是否生效:执行bundle --version,此时应正确显示2.2.19
  • 残留问题排查
    如果你使用了rvm、rbenv等Ruby版本管理工具,不要加sudo安装gem,sudo会将包安装到系统全局Ruby环境,而非版本管理工具对应的当前Ruby环境中,直接执行gem install bundler -v 2.2.19即可。
    若仍不生效,执行gem env executabledir查看RubyGems的可执行文件存放路径,检查环境变量PATH配置,确保该路径的优先级高于旧版bundle所在的路径。

验证

完成操作后执行bundle install即可正常安装依赖,不会再报Bundler版本过低的错误。

内容的提问来源于stack exchange,提问作者Arnab Ghosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:06:03