LoginSignup
5
5

More than 5 years have passed since last update.

RubyMine で "Your Ruby version is x.x.x, but your Gemfile specified z.z.z (Bundler::RubyVersionMismatch)" がでるとき

Posted at

RubyMine 6.3 で Rake 実行時に

Error:[rake --tasks] /Users/n/.gem/ruby/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:361:in `validate_ruby!': Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2 (Bundler::RubyVersionMismatch)
    from /Users/n/.gem/ruby/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:116:in `setup'
    from /Users/n/.gem/ruby/2.0.0/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
  :

みたいなエラーがでてしまうときの対処方法。

原因

Gemfile に指定してあるインタプリタのバージョンと、実際に rake を実行しているバージョンが異なるのが原因。

そこで Gemfile でのインタプリタのバージョン指定、たとえば

ruby "2.1.2"

と書いてある箇所を消せばとりあえず直る。

直るが…… 意図しないインタプリタ上で Rake タスクが走ってしまう、そもそも Heroku にデプロイできなくなる、などなどハマりどころ満載なので、そんな安直な解決は禁物。実際に動作しているバージョンへ Gemfile を直してしまうのもダメ。それでは何も解決していないではないか。喝!

修正

  1. そなたが当に使いたいインタプリタのバージョンを Gemfile に書くのじゃ
  2. rbenv なり rvm (オレ使ってないけど) なりを使ってそのインタプリタをインストールするのじゃ
  3. "Preferences" → "Ruby SDK and Gems" を開き、2. でインストールしたインタプリタを指定するのじゃ
  4. "File" → "Invalidate Caches" → "Invalidate and Restart" して、RubyMine に魂を入れ直すのじゃ
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5