【问题标题】:Incompatible version for gem "activesupport" while installing "threetaps-client" gem安装“threetaps-client”gem 时 gem “activesupport” 的版本不兼容
【发布时间】:2013-08-09 16:08:30
【问题描述】:

我对 Rails 还很陌生,在运行 bundle install 时遇到了这个 gem 冲突,在 ActiveSupport 和threetaps-client(我需要用于我的项目)之间。

我尝试删除 Gemfile.lock 文件并再次运行 bundle install,但它再次给了我相同的错误消息。我还尝试运行bundle update,它也给出了相同的结果:(

Bundler could not find compatible versions for gem "activesupport":
  In snapshot (Gemfile.lock):
    activesupport (3.2.13)

  In Gemfile:
    threetaps-client (>= 0) ruby depends on
      activesupport (~> 3.0.0) ruby

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

【问题讨论】:

    标签: ruby ruby-on-rails-3.2 activesupport


    【解决方案1】:

    这里的问题是您使用的是 Rails 3.2(因此是 activesupport 3.2)。但是,threetaps-client 的版本锁定为 rails/activesupport 3.0.x。最简单的解决方案是将您的 Gemfile 中的 Rails 降级到 3.0:

    gem "rails", "~> 3.0"

    然后删除Gemfile.lock 并再次捆绑安装。你应该很好。

    编辑

    我能够让 gem 支持 activesupport 3.2(我认为)。测试没有通过这个分支,但他们也没有通过 master。我认为这可能与凭据或其他东西有关。更新您的 Gemfile 以将此 repo 用于 threetaps-client

    gem "threetaps-client", git: "git@github.com:ehowe/3taps-Ruby-Client"
    

    在此处插入必需的“您的里程可能会有所不同”警告。

    【讨论】:

    • 该解决方案相当诱人,但我无法降级 Rails 或对此事的积极支持。这不是一个可行的解决方案。你知道我可以解决它的方法吗?
    • 用另一种可能的解决方案修改了我的答案。
    • 好的,所以我与 3Taps 开发人员进行了交谈,他们为我提供了访问他们数据的替代解决方案。我将自己创建一个包装类并通过它进行 API 调用。我确实尝试通过分叉和更改 gemfile 来做同样的事情,但这也不起作用。我应该在摘要中提到这一点。很抱歉给您带来麻烦,并感谢您的努力。我会投票,但不会接受你的回答,因为那不起作用。
    • 该死,我才意识到我没有足够的代表点数来投票。太糟糕了。好吧,我希望谢谢你:)
    猜你喜欢
    • 2013-03-13
    • 2014-04-20
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2020-04-28
    • 2018-05-20
    • 2012-07-05
    • 1970-01-01
    相关资源
    最近更新 更多