如何解决 bundler 中的依赖问题?

Nat*_*sos 5 ruby bundler

我想使用最新版本的 oauth2 gem,我将它添加到我的 gemfile 并运行 bundle install。

Bundler could not find compatible versions for gem "multi_json":
  In Gemfile:
    oauth2 (= 0.7.0) ruby depends on
      multi_json (~> 1.3) ruby

    uglifier (>= 0) ruby depends on
      multi_json (1.0.4)
Run Code Online (Sandbox Code Playgroud)

哦,好的,我会更新 uglifier bundle update uglifier

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

  In Gemfile:
    oauth2 (= 0.7.0) ruby depends on
      faraday (~> 0.8) ruby
Run Code Online (Sandbox Code Playgroud)

嗯,那我试试bundle update oauth2

Bundler could not find compatible versions for gem "multi_json":
  In Gemfile:
    oauth2 (= 0.7.0) ruby depends on
      multi_json (~> 1.3) ruby

    uglifier (>= 0) ruby depends on
      multi_json (1.0.4)
Run Code Online (Sandbox Code Playgroud)

哦,没错..这就是我最初想做的事情。好吧,也许我可以指定最新版本uglifier的gem 'uglifier', "~> 1.2.4"bundle update uglifier试。

Bundler could not find compatible versions for gem "faraday":
  In Gemfile:
    oauth2 (~> 0.7.0) ruby depends on
      faraday (~> 0.8) ruby

    instagram (>= 0) ruby depends on
      faraday (0.5.7)
Run Code Online (Sandbox Code Playgroud)

嗯,bundle update instagram是的。不 - 回到 instagram 和 oauth2 之间的 multi_json 不兼容性。

你如何解决这样的问题?这只是需要更新 Instagram gem 以使用更新的多 json 版本的问题吗?或者还有什么我应该尝试的吗?

Ina*_*mus 2

立即清除 GEM 目录,然后执行新的捆绑命令。认为这就像重置计算机一样。

$GEM_PATH 是你的宝石所在的位置(每个路径用两个点分隔)

Bundle show gem_name(还将显示您的宝石在哪里)