ruby-on-rails – 同时使用2个版本的gem

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 同时使用2个版本的gem前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以在一个应用程序中使用两个版本的gem吗?我试图使用两个rails插件来协同工作:

> Pengwynn的LinkedIn https://github.com/pengwynn/linkedin for LinkedIn API调用,对oauth有依赖(〜> 0.3.5)
> OmniAuth用户通过多个知名网站登录,依赖于oauth 0.4.0

当我在rails中尝试某些东西时,我会收到以下错误消息:

$rails server
c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/resolver.rb:129:in `resolve': Bundler could not find compatible versions for gem "oauth": (Bundler::VersionConflict)
  In snapshot (Gemfile.lock):
    oauth (0.4.4)

  In Gemfile:
    linkedin depends on
      oauth (~> 0.3.5)

Running `bundle update` will rebuild your snapshot from scratch,using only
the gems in your Gemfile,which may resolve the conflict.

尝试捆绑更新只会冻结我的终端

是否可以同时使用这两个插件

解决方法

使用单个宝石的两个版本通常意味着:使用同一个类的两个版本.

没有对这些宝石进行修改是不可能的.您可以尝试将创建的类放在某个模块中,解决导入到其他类的方法的冲突等等.一般来说,这不是一件容易的事,通常效果不值得.

在这种情况下您应该做的是要求宝石维护者更新依赖关系,或尝试自己做.

也许你可以将这些宝石之一降级(使用旧版本)到依赖关系相同的版本.

原文链接:https://www.f2er.com/ruby/272906.html

猜你在找的Ruby相关文章