RubyMine无法识别编辑器中使用bundler安装的gem

rob*_*obd 4 rubymine

我很难让RubyMine正确地看到我的宝石.我看到的问题是编辑器屏幕无法识别任何宝石的任何类,例如对于MyClass <ActiveRecord :: Base,我看到一个黄色警告:Cannot find 'ActiveRecord'.

我正在使用bundler,我为每个项目配置了我的宝石并安装在/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
Run Code Online (Sandbox Code Playgroud)

....

所以它似乎正在使用宝石的正确路径:

/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
    ....
Run Code Online (Sandbox Code Playgroud)

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

这似乎是一个类似的问题,但即使使用指定的解决方法,我仍然会看到问题.


更新:我从rails 2.3升级到rails 3.0(通过升级Gemfile并运行bundle install),我现在能够在编辑器中看到rails源,但没有其他宝石.使用:github =>指令安装Rails:

gem 'rails', :github => 'rails/rails', :branch => '3-0-stable'
Run Code Online (Sandbox Code Playgroud)

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

Cross发布到这个bug:http://youtrack.jetbrains.com/issue/RUBY-14542

小智 5

我遇到了类似的问题,修复结果是删除了ruby SDK(在preferences-> Ruby SDK和Gems中)然后再添加它.这使得"语言水平"从2.1升到2.2,并允许Rubymine在ruby 2.2.0/gems中找到捆绑的宝石.我不知道Rubymine如何设法为我的ruby-2.2.1-p85设置语言级别为2.1,但这是一个难以追查的微妙问题,所以我想我会分享以防其他人体验它.我只是通过使用极其有用的工具 - >显示宝石环境来发现它,这可能有助于解决类似的问题.


Rik*_*avi 4

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

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