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)

哦,好吧,我将使用bundle update uglifier更新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

嗯,所以我会尝试捆绑更新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)

哦,那是对的..这就是我首先要做的事情.好吧,也许我可以指定最新版本的uglifier gem’uglifier’,“〜> 1.2.4”并再次捆绑更新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)

那么,它是捆绑更新instagram.不 – 回到instagram和oauth2之间的multi_json不兼容性.

你如何解决这个问题?这只是Instagram宝石需要更新以使用更新的多json版本的问题吗?或者还有其他我应该尝试的东西?

最佳答案 立即清除您的GEM目录,然后执行一个全新的bundle命令.认为这就像重置计算机一样.

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

bundle show gem_name(也会告诉你宝石的位置)

点赞