【问题标题】:Bundler using wrong gem when specifying a forked version from github从 github 指定分叉版本时,Bundler 使用了错误的 gem
【发布时间】:2013-10-10 14:28:07
【问题描述】:

让 ruby​​mine 使用我的捆绑器指定的 gem 版本时,我遇到了一些严重的痛苦。

source "https://rubygems.org"
gem "sinatra"
gem "slim"
gem "dm-core"
gem "dm-migrations"
gem "rbing", :git => "https://github.com/KellyMahan/rbing.git"

当我运行 bundle install 时,它似乎下载正确。

Using rbing (1.1.0) from https://github.com/KellyMahan/rbing.git (at master) Enter your password to install the bundled RubyGems to your system: 

然而,每次,我都会发现当前使用的 gem 列在 RubyMine 的“外部库”目录中,它使用的是旧版本的 gem,而不是来自 github 的分叉版本。

想法?非常感谢任何帮助。

-亚当

编辑:

另外,我用来使用 RubyMine 作为我的默认 gem 位置的 2.0.0 的 rvm 是否可能存在任何问题。可以将分叉版本下载到我的 RubyMine 默认使用的 rvm 路径以外的其他地方吗?

再次编辑:

我更新了 rbing 的未注册 git root,在我成功提交并进行了更改之后......它并没有影响我的外部库目录中的 rbing 版本。任何帮助解决这个问题都将不胜感激,这让我发疯了。

【问题讨论】:

标签: ruby github rubygems bundler rubymine


【解决方案1】:

RubyMine 5.x 中似乎存在与“外部库”相关的错误,该错误已在 6.0 版中得到修复。请看这个问题:

http://youtrack.jetbrains.com/issue/RUBY-14584

升级到 6.0 版 RC 似乎可以解决问题。

【讨论】:

    【解决方案2】:

    git gem 是由 bundler 安装在与正常 gem 路径不同的位置的情况,但是 RubyMine 具有 bundler 集成,应该能够正常找到 gem。尝试运行 Bundler - 从 RubyMine 内部安装,看看会发生什么。它可能使用了不同的 Ruby 版本,或者可能存在其他问题。

    【讨论】:

      【解决方案3】:

      您是否尝试过使用gem uninstall 卸载旧版本?

      如果你不知道怎么做,请查看this

      【讨论】:

      • 我如何分辨原始 gem 的版本与分叉的 gem 版本?除了我不想使用的旧版本中指定的 v1.1.0 版本之外,我似乎在 github.com/KellyMahan/rbing/tree/azure 中找不到有区别的版本 id。
      • gem uninstall rbing --version 1.1.0 将卸载旧的 gem。您可以运行 bundle install 之后,只是为了检查 git 版本是否仍然安装
      • 它成功了,但它仍然使用并列出了我在 ruby​​mine 的外部库目录中的旧版本。在这一点上,我几乎可以肯定它与我的 rvm 使用的 sdk 有关。
      猜你喜欢
      • 1970-01-01
      • 2011-04-30
      • 2013-01-13
      • 2016-08-21
      • 1970-01-01
      • 2013-10-04
      • 2013-07-24
      • 2011-04-20
      • 2012-05-14
      相关资源
      最近更新 更多