加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:12:16 所属栏目:百科 来源:网络整理
导读:我可以在一个应用程序中使用两个版本的gem吗?我试图使用两个rails插件来协同工作: Pengwynn的LinkedIn https://github.com/pengwynn/linkedin for LinkedIn API调用,对oauth有依赖(? 0.3.5) OmniAuth用户通过多个知名网站登录,依赖于oauth 0.4.0 当我在rai
我可以在一个应用程序中使用两个版本的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.

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

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

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读