执行bundle install报错:Bundler找不到兼容的bundler gem版本
问题原因分析
macOS Catalina 及以上版本收紧了系统内置 Ruby 环境的目录写入权限,同时你本地存在多个 Bundler 版本优先级冲突,共同导致按照默认提示安装后仍不生效的问题。
解决办法
临时解决单次安装问题
如果已经成功安装 bundler:2.1.4,直接执行以下命令强制调用对应版本执行安装:
bundle _2.1.4_ install
如果执行后仍然报错,先清理本地 bundler 缓存再重试:
gem cleanup bundler # 如果你使用 rbenv 管理 Ruby 版本,额外执行以下命令 rbenv rehash
适配当前环境快速解决
如果你不需要严格绑定项目的 Bundler 版本,直接打开项目根目录下的 Gemfile.lock 文件,找到末尾 BUNDLED WITH 段落,将版本号修改为你当前已安装的 2.2.29,之后直接执行 bundle install 即可正常运行。
根治 Catalina 下 Ruby 相关权限/版本问题
Catalina 开始系统自带的 Ruby 环境受 SIP 保护,普通操作无法修改系统级 gem 配置,长期开发建议使用 rbenv 或 rvm 管理独立的用户级 Ruby 环境:
- 安装版本管理器后所有 gem 都会安装在当前用户的私有目录下,不会触发系统权限限制,安装指定版本 Bundler 后可自动匹配项目要求,不会再出现版本不兼容问题。
内容的提问来源于stack exchange,提问作者srwriter
相关产品推荐
相关产品推荐

