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

时间:2014-02-26 21:55:15

标签: 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

...

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

/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源,但没有其他宝石。使用以下命令安装Rails:github =>指令:

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

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

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

4 个答案:

答案 0 :(得分: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,但这是一个难以追查的微妙问题,所以我想我会分享以防其他人体验它。我只是通过使用非常有用的工具 - >显示宝石环境来发现它,这可能有助于排除类似问题。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

在RubyMine for Mac上,仍然遇到了与未找到宝石相同的问题。 而不是File中的默认设置,您需要更改: RubyMine =>首选项=>语言和框架=> RubySDK和Gems

然后选择正确的版本。

答案 3 :(得分:0)

我有一个类似的问题。 Rbenv使用的是Ruby的旧版本,而不是RubyMine的。

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

要设置Rbenv版本:

rbenv local 2.5.1