我正在尝试在我的Rails 4.2应用中安装jimson gem:
Gemfile:
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取决于机架1.4.5 ,而我当前的机架版本是1.6.0
(我已经在multi_json gem中遇到了同样的错误,我将它从1.11.0降级到1.7.6,现在它要求我降级到机架1.4.5 !!)
用机架1.4.5替换机架1.6.0是个好主意吗?我不确定是否有其他解决方案使用jimson而不修改已安装的宝石!!
答案 0 :(得分:2)
降级机架不起作用,因为导轨4.2需要机架1.6。
这个宝石完全可能适用于较新版本的机架 - 1.4.5可能只是当时的当前版本。
要测试此理论,您需要分叉gem并更新依赖项。我检查gems测试/规格是否仍然运行,然后你可以将你的宝石分支添加到你的应用程序作为:git依赖。还可以考虑向原作者发送拉取请求。
在这种情况下,您不需要执行任何操作,因为有人已经创建了这样的pull request,并且travis规范会传递该拉取请求,因此您只需要合并来自将请求拉入你的分支