【问题标题】:RubyMine not recognising gems installed with bundler in the editorRubyMine 无法识别在编辑器中使用捆绑程序安装的 gem
【发布时间】:2014-02-26 21:55:15
【问题描述】:

我很难让 RubyMine 正确地看到我的宝石。我看到的问题是编辑器屏幕无法识别任何 gem 的任何类,例如 MyClass Cannot find 'ActiveRecord'。

我正在使用捆绑器,我为每个项目配置了我的 gem,并安装在 /some/project_dir/.bundle/gems 中

我已经看到了这个错误:http://youtrack.jetbrains.com/issue/RUBY-14542,所以我试图通过启动 RubyMine 来解决这个问题:

GEM_HOME="/some/project_dir/.bundle/gems/ruby/1.8" mine

我的 RubyGems 环境看起来正确 - 这是相关的摘录:

....
Sdk Gem paths: 
    ~/.rbenv/versions/ree-1.8.7-2012.02/lib/ruby/gems/1.8/gems
    /some/project_dir/.bundle/gems/ruby/1.8/gems
    ~/.rbenv/versions/ree-1.8.7-2012.02/lib/ruby/gems/1.8/bundler/gems
    /some/project_dir/.bundle/gems/ruby/1.8/bundler/gems
Gems used for 'project':
    rails (bundled)
        /some/project_dir/.bundle/gems/ruby/1.8/bundler/gems/rails-857c6ee62c05
    rspec (bundled(1.3.2))
        /some/project_dir/.bundle/gems/ruby/1.8/gems/rspec-1.3.2

....

看来它使用了正确的宝石路径:

/some/project_dir:ls -1 /some/project_dir/.bundle/gems/ruby/1.8/gems    
    Ascii85-1.0.1
    Ascii85-1.0.2
    GeoRuby-1.3.3
    abstract-1.0.0
    ....

我看到 Ruby SDK 和 Gems 首选项窗格下列出了 gem,但编辑器窗格无法识别其中的任何文件。

This seems like a similar issue,但即使使用指定的解决方法,我仍然看到问题。


更新:我从 rails 2.3 升级到 rails 3.0(通过升级 Gemfile 并运行 bundle install),我现在可以在编辑器中看到 rails 源代码,但看不到其他 gem。 Rails 使用 :github=> 指令安装:

gem 'rails', :github => 'rails/rails', :branch => '3-0-stable'

所以我认为这可能与它有关。

交叉发布到此错误:http://youtrack.jetbrains.com/issue/RUBY-14542

【问题讨论】:

    标签: rubymine


    【解决方案1】:

    我遇到了类似的问题,结果证明是删除 ruby​​ SDK(在首选项->Ruby SDK 和 Gems 中),然后将其添加回来。这将“语言级别”从 2.1 提升到 2.2,并允许 Rubymine 在 ruby​​ 2.2.0/gems 中找到捆绑的 gem。我不知道 Rubymine 如何将我的 ruby​​-2.2.1-p85 的语言级别设置为 2.1,但这是一个难以追踪的微妙问题,所以我想我会分享以防其他人遇到它.我只是通过使用非常有用的 Tools->Show Gem Environment 才发现它的,这可能有助于解决类似的问题。

    【讨论】:

      【解决方案2】:

      在 Mac 版 RubyMine 上,仍然遇到同样的问题,即找不到 gem。 您需要更改而不是 File 中的默认设置: RubyMine => 首选项 => 语言和框架 => RubySDK 和 Gems

      然后选择正确的版本。

      【讨论】:

        【解决方案3】:

        也许您应该在 RubyMine 设置菜单中设置正确的 Ruby。

        转到“文件”->“设置”->“Ruby SDK 和 Gems”(在左侧列表中)并选择正确的 Ruby 版本。

        【讨论】:

          【解决方案4】:

          我遇到了类似的问题。 Rbenv 使用的是旧版本的 ruby​​,而 RubyMine 使用的是旧版本。

          我必须使用 Rbenv 设置本地版本,然后在 RubyMine 中使用相同的版本。这意味着在终端窗口中运行 bundle install 会将 gem 安装到正确的“gem set”中

          设置 Rbenv 版本:

          rbenv local 2.5.1

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-12-11
            • 1970-01-01
            • 2017-05-05
            • 2016-01-27
            • 1970-01-01
            • 2015-11-29
            • 2016-01-11
            • 1970-01-01
            相关资源
            最近更新 更多