【问题标题】:Help with Bundler to figure out why it "downgraded" one of my gems帮助 Bundler 弄清楚为什么它“降级”了我的一颗宝石
【发布时间】:2011-08-25 01:14:08
【问题描述】:

今天我定期检查gem outdated。发现一些需要更新的地方:

$ gem outdated
ZenTest (4.6.1 < 4.6.2)
bcrypt-ruby (2.1.4 < 3.0.0)
factory_girl (2.0.4 < 2.0.5)
fog (0.10.0 < 0.11.0)
hike (1.2.0 < 1.2.1)
net-ssh (2.1.4 < 2.2.1)
rb-fsevent (0.4.3 < 0.4.3.1)
rdoc (3.9.2 < 3.9.3)
selenium-webdriver (2.4.0 < 2.5.0)

所以我先gem update 他们,然后bundle update。注意到bundle update 感到不得不安装旧版本的fog:Installing fog (0.9.0)?并且不确定如何找出导致此依赖项降级的原因。在fog 0.10.0 下一切正常。

gem dependency -R fog 表示只有 Carrierwave 需要它......并且carrierwave 没有改变, 对雾 0.10.0 感到满意。

有什么想法吗?或者我可以用来解决/理解这个问题的工具?

【问题讨论】:

  • 您的 Gemfile.lock 文件应该显示一个依赖层次结构,以帮助确定还有什么可能需要 0.9.x 版本的 fog。

标签: ruby-on-rails bundler fog gemfile


【解决方案1】:

在您的 gemfile 和 bundler 中,最好不要使用最新版本的 gem。

例如,如果您的 rails gemfile 中有一行:

gem 'globalize3', "~> 0.1.0"

...它将获得最新的gem,例如0.1.2、0.1.3等,但永远不会使用0.2.1

这是为了保持 gem 依赖项之间的向后兼容性。 Bundler 可能会在雾方面遵循这种做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多