将 gem 更新到以前的版本是个好主意吗

Is it a good idea to update a gem to a previous version

我正在尝试在我的 Rails 4.2 应用程序中安装 jimson gem :

宝石文件:

gem 'jimson', '~> 0.10.0'

捆绑后,出现此错误:

Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "rack":
  In snapshot (Gemfile.lock):
    rack (1.6.0)

  In Gemfile:
    jimson (~> 0.10.0) ruby depends on
      rack (~> 1.4.5) ruby

正如错误所说,jimson 依赖 rack 1.4.5我当前的 rack 版本是 1.6.0

(我已经遇到与 multi_json gem 相同的错误,我将其从 1.11.0 降级到 1.7.6,现在它要求我降级到机架 1.4.5 !!)

将机架 1.6.0 替换为机架 1.4.5 是个好主意吗?我不确定是否有另一种解决方案可以在不修改已安装的 gems !!

的情况下使用 jimson

降级 rack 不起作用,因为 rails 4.2 需要 rack 1.6。

这个 gem 完全有可能适用于较新版本的 rack - 1.4.5 可能只是当时的最新版本。

要测试这个理论,您需要分叉 gem 并更新依赖项。我会检查 gems tests/specs 是否仍然 运行,然后您可以将 gem 的分支作为 :git 依赖项添加到您的应用程序中。还可以考虑向原作者发送拉取请求。

在这种情况下,您不需要执行任何操作,因为有人已经创建了这样的 pull request,并且 travis 规范通过了该拉取请求,因此您只需要合并从那个 pull request 到你的 fork 的变化