在一个新的应用程序Rails 3.1中,只有Gemfile:
gem"omniauth"gem"facebooker2"
bundle install
给出错误:
Bundler找不到gem"hashie"的兼容版本:在Gemfile中:facebooker2(=0.0.16)ruby依赖于哈希(~>1.1.0)红宝石
omniauth (>= 0) ruby depends on
hashie (1.2.0)
如何使用omniauth安装facebooker2?
我刚刚用这两个gem运行了bundle,它成功了。
然而,它确实安装了facebooker2 0.0.12,而不是0.0.16
gem 'omniauth', '1.0.2'
gem 'facebooker2'
它也可以在不指定omnauth版本的情况下工作,但我强烈建议使用1.0.0版本,因为存在巨大的差异。主要的一点是,所有的供应商现在都在自己的宝石中。
如果捆绑包安装不起作用,请运行捆绑包更新。
我的Gemfile.lock:的相关部分
facebooker2 (0.0.12)
mogli (>= 0.0.12)
ruby-hmac
hashie (1.2.0)
hike (1.2.1)
httparty (0.8.1)
multi_json
multi_xml
...
mogli (0.0.28)
httparty (>= 0.4.3)
omniauth (1.0.2)
hashie (~> 1.2)
rack
解决这个问题的唯一方法是克隆mogli项目并将哈希依赖关系更新为1.2:
https://github.com/davidsf/mogli/commit/bcee3dd815bab7c8eb68511ee0d7c2da39115e14