rvm 安装 ruby2.1.5,并将其设置为默认版本 此时默认的 rake gem 包的版本是 10.1.0
然后 gem install 需要的 gem,这些 gem 都被安装在 rvm 的 gems 目录中,如:/Users/wjf/.rvm/gems/ruby-2.1.5/gems,这都一切正常。 然后在 RubyMine 中设置“Ruby SDK and Gems” ,如:
并在 Gemfile 中设置需要的 gem: gem 'rake' gem 'sinatra' gem '...'
除了 rake 以外的其它 gem 都没问题,而对应 rake 会报:Gem 'rake' is not available in SDK 'Rvm:ruby-2.1.5'
我发现对于这个问题的表面现象是,所有通过 gem install 的 gem 包它们的目录都在如前所述的 .rvm/gems/ruby-2.1.5/gems下,这些gem包在Gemfile中引用是正常的,而rake是安装ruby时的默认gem包,其路径不在 .rvm/gems/ruby-2.1.5/gems下,其在gemfile中直接引用就会not available.
后来我又 gem install rake 了一个新版本:10.4.2,该 gem 包在 .rvm/gems/ruby-2.1.5/gems目录中,然后我在Gemfile中 指定 rake 的版本:gem 'rake','~> 10.4.2' 问题解决。
可是疑问仍然在:为什么不能直接引用 通过 rvm 安装的 ruby 中的默认 rake?请大神解惑!!!