我有2个宝石依赖于相互冲突的hashie版本(一个需要〜> 1.2.0而另一个需要3.3.1):
Bundler could not find compatible versions for gem "hashie":
In Gemfile:
restforce (>= 0) ruby depends on
hashie (~> 1.2.0) ruby
omniauth (>= 0) ruby depends on
hashie (3.3.1)
Run Code Online (Sandbox Code Playgroud)
我想保留两个宝石并使用更高版本的hashie.有没有办法覆盖其中一个gem依赖项?
我正在尝试Hashie在 Rails 之外使用。在我的 rakefile 中,我已经包含了require hashie/hash,但我仍然得到NoMethodError. 我试过使用require hash; 那里也没有运气。
这是它失败的行:
YAML.load(ERB.new(File.read('../prefs.yml')).result)['dev'].symbolize_keys!
Run Code Online (Sandbox Code Playgroud)
当我inspect使用哈希时,它看起来是正确的并采用以下形式:{'key':'value'}. 我希望密钥是一个符号,但我不想在 Rails 3 和 4 之间切换,所以我安装Hashie了它并将其添加到我的 Rakefile 中,但这似乎并没有解决问题。
谁能告诉我为什么我可能会收到此错误?