Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将gem更新到以前的版本是一个好主意吗_Ruby On Rails_Ruby_Rubygems - Fatal编程技术网

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

Ruby on rails 将gem更新到以前的版本是一个好主意吗,ruby-on-rails,ruby,rubygems,Ruby On Rails,Ruby,Rubygems,我正在尝试在Rails 4.2应用程序中安装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 ver

我正在尝试在Rails 4.2应用程序中安装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,现在它要求我降级到rack 1.4.5!!)


用机架1.4.5替换机架1.6.0是一个好主意吗?我不确定是否有其他解决方案可以在不修改已安装gems的情况下使用jimson

降级机架不起作用,因为rails 4.2需要机架1.6

这个gem完全有可能与较新版本的rack一起工作-1.4.5可能只是当时的版本

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


在这种情况下,您不需要执行任何操作,因为有人已经创建了这样的请求,并且travis规范通过了该拉请求,因此您只需要将该拉请求中的更改合并到您的fork中

我如何合并该拉请求,如下图所示“只有那些对此存储库具有写访问权限的人才能合并拉请求”您不能合并该拉请求-您必须分叉存储库并将拉请求中的更改应用到您的分叉。我最终分叉了该拉请求的所有者所做的分叉,所以我不必这样做:)感谢您的回答,他们非常有用。