将 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 的变化
我正在尝试在我的 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 的变化