Ruby on rails 为什么RubyMine和terminal的宝石环境不同

Ruby on rails 为什么RubyMine和terminal的宝石环境不同,ruby-on-rails,rubygems,gem,rubymine,Ruby On Rails,Rubygems,Gem,Rubymine,我的终端gem环境与我的Rubymine环境不匹配。 在终端中,它给出: - EXECUTABLE DIRECTORY: /Users/george/.gem/ruby/1.9.3/bin - SPEC CACHE DIRECTORY: /Users/george/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x86_64-darwin-12 - GEM PATHS: - /Users/george/.gem/rub

我的终端gem环境与我的Rubymine环境不匹配。 在终端中,它给出:

  - EXECUTABLE DIRECTORY: /Users/george/.gem/ruby/1.9.3/bin
  - SPEC CACHE DIRECTORY: /Users/george/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /Users/george/.gem/ruby/1.9.3
     - /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
EXECUTABLE DIRECTORY: /Users/george/.rubies/ruby-1.9.3-p392/bin
SPEC CACHE DIRECTORY: /Users/george/.gem/specs
RUBYGEMS PLATFORMS:
  ruby
  x86_64-darwin-12
GEM PATHS:
   /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
   /Users/george/.gem/ruby/1.9.1
而在RubyMine中,它给出:

  - EXECUTABLE DIRECTORY: /Users/george/.gem/ruby/1.9.3/bin
  - SPEC CACHE DIRECTORY: /Users/george/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /Users/george/.gem/ruby/1.9.3
     - /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
EXECUTABLE DIRECTORY: /Users/george/.rubies/ruby-1.9.3-p392/bin
SPEC CACHE DIRECTORY: /Users/george/.gem/specs
RUBYGEMS PLATFORMS:
  ruby
  x86_64-darwin-12
GEM PATHS:
   /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
   /Users/george/.gem/ruby/1.9.1
似乎有一个关于宝石位置的困惑,我不知道如何修复它

我使用chruby来控制安装了ruby build的ruby版本 应用程序是Rails 3.2.17

终端和Rubymine的全输出如下:

终端:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.2
  - RUBY VERSION: 1.9.3 (2013-02-22 patchlevel 392) [x86_64-darwin12.5.0]
  - INSTALLATION DIRECTORY: /Users/george/.gem/ruby/1.9.3
  - RUBY EXECUTABLE: /Users/george/.rubies/ruby-1.9.3-p392/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/george/.gem/ruby/1.9.3/bin
  - SPEC CACHE DIRECTORY: /Users/george/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /Users/george/.gem/ruby/1.9.3
     - /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/george/.gem/ruby/1.9.3/bin
     - /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1/bin
     - /Users/george/.rubies/ruby-1.9.3-p392/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/bin
     - /Users/george/bin
     - /opt/X11/bin
鲁比明:

RUBYGEMS VERSION: 2.2.2
RUBY VERSION: 1.9.3 (2013-02-22 patchlevel 392) [x86_64-darwin12.5.0]
INSTALLATION DIRECTORY: /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
RUBY EXECUTABLE: /Users/george/.rubies/ruby-1.9.3-p392/bin/ruby
EXECUTABLE DIRECTORY: /Users/george/.rubies/ruby-1.9.3-p392/bin
SPEC CACHE DIRECTORY: /Users/george/.gem/specs
RUBYGEMS PLATFORMS:
  ruby
  x86_64-darwin-12
GEM PATHS:
   /Users/george/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1
   /Users/george/.gem/ruby/1.9.1
GEM CONFIGURATION:
   :update_sources => true
   :verbose => true
   :backtrace => false
   :bulk_threshold => 1000
REMOTE SOURCES:
   https://rubygems.org/
SHELL PATH:
   /Users/george/.rubies/ruby-1.9.3-p392/bin
   /usr/bin
   /bin
   /usr/sbin
   /sbin
   /usr/local/bin
   /Users/george/bin
   /opt/X11/bin
   /usr/local/bin
----------------------
IDE: RubyMine 6.0.3, build #RM-133.632
OS: Mac OS X 10.9.2[x86_64]
Java: 1.6.0_65-b14-462-11M4609
RubyMine SDK Environment:
Sdk: ruby-1.9.3-p392
Sdk Version: ver.1.9.3p392 ( revision 39386) p392
Ruby Interpreter: /Users/george/.rubies/ruby-1.9.3-p392/bin/ruby
RVM Sdk: no
RVM Home: /usr/local/rvm
Sdk Language Level: 1.9
Sdk Load Path:
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/x86_64-darwin12.5.0
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/site_ruby
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/vendor_ruby/1.9.1
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin12.5.0
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/vendor_ruby
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/1.9.1
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/x86_64-darwin12.5.0
     /Applications/RubyMine.app/rubystubs193
Sdk Gem paths: 
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1/gems
     ~/.gem/ruby/1.9.1/gems
     ~/.rubies/ruby-1.9.3-p392/lib/ruby/gems/1.9.1/bundler/gems
     ~/.gem/ruby/1.9.1/bundler/gems

似乎RubyMine使用了错误的ruby版本。要解决此问题,请执行以下操作:

  • 在RubyMine中,进入Preferences->Ruby SDK和Gems
  • 在中间窗口
  • 中点击Ruby
  • 然后单击右侧窗口中的任何gem,并检查底部窗口中的gem路径
  • 如果路径与终端中的路径不同
  • 在中间窗口中单击+,选择新的本地…并将路径添加到所需的ruby bin目录。 这应该可以解决一个问题
    默认情况下,RubyMine在项目根目录中搜索文件
    .ruby version
    ,然后将ruby版本设置为与rvm一起使用,覆盖默认rvm配置

    要解决此问题,您有两个选项:

    • .ruby版本
      文件编辑为所需版本
    • o正如@anton chikin所说,您可以手动更改RubyMine->Preferences->Ruby SDK和Gems中使用的SDK