微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/ruby/272906.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐