Bundler 找不到 gem "bundle" 的兼容版本

Posted

技术标签:

【中文标题】Bundler 找不到 gem "bundle" 的兼容版本【英文标题】:Bundler could not find compatible versions for gem "bundler" 【发布时间】:2014-03-14 12:09:42 【问题描述】:

尝试将新的 gem 安装到 rails 应用程序中,无论我是在 Gemfile 中添加还是删除 gem,当我运行 bundle install 时,都会收到以下错误:

Bundler 找不到 gem "bundle" 的兼容版本: 在 Gemfile 中: rails (= 3.0.0) 红宝石取决于 捆绑器 (~> 1.0.0) 红宝石 当前捆绑器版本: 捆绑器 (1.3.5) 此 Gemfile 需要不同版本的 Bundler。 也许您需要通过运行 `gem install bundler` 来更新 Bundler?

我很困惑,因为~> 1.0.0 意味着我的bundler 版本必须等于或大于1.0.0 但小于2.x.x。我正在满足这个要求,为什么它会失败?

补充一点,如果我将 Gemfile 保留原样,bundle install 就可以正常工作。

更新

显然,我误解了 ~> 符号。您可以查看下面的检查答案以获得解释,或者在Meaning of tilde-greater-than (~>) in version requirement? 上查看更深入的答案

【问题讨论】:

现在仍然出现同样的问题,当您无法更新应用程序以使用较新的捆绑程序版本时,这里有一个具体的解决方案:***.com/questions/57170296 【参考方案1】:

其实~> 1.0.0等于>= 1.0.0 && < 1.1,所以1.3.5不匹配。您需要另一个捆绑器版本。

【讨论】:

以上是关于Bundler 找不到 gem "bundle" 的兼容版本的主要内容,如果未能解决你的问题,请参考以下文章

Bundler 找不到 gem "rails" 的兼容版本:用于狂欢

Bundler 找不到 gem "spring" 的兼容版本

Error-Bundler 找不到 gem“bundle”的兼容版本:在 Heroku 上推送项目时

Bundler 找不到 gem 的兼容版本

Bundler 无法与 rbenv 一起使用,找不到 [gem]

find_spec_for_exe': 找不到 gem bundler (>= 0.a) (Gem::GemNotFoundException)