7269


こんにちわ。プログラミング初心者です。  
Rubyのversion変更ができず困っています。

[code]

    ruby -v
    ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0]
    
[/code]

と出るのですが、  
下記を実行するとエラーが出てしまい、rails tutorialが進みません。  
どなたか知見のある方アドバイスいただけると嬉しいです。

[code]

    rails generate scaffold User name:string email:string
    Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2
    
[/code]

よろしくお願いします。


CC BY-SA 3.0
2015-03-01T06:50:42.647
7267
2015-03-01T07:36:55.843
2015-03-01T07:25:12.307
724
8613
question
ruby-on-rails rbenv
Ruby on Rails - Rubyのversion変更ができない


[rbenv](/questions/tagged/rbenv "'rbenv' のタグが付いた質問を表示")タグがあるので rbenv を使って ruby
をインストールしている前提とします。  
おそらく `rails` コマンドは rbenv によってインストールされた ruby ではなく、別の場所にインストールされている Ruby 2.0.0
でインストールされた rails を実行しているのが原因です。  
rbenv によってインストールされる rails のほうが前になるように PATH を設定する必要があります。

例えば `~/.rbenv` 以下に rbenv がインストールされており、PATH が以下である場合

[code]

    $ echo $PATH
    /Users/itochan/.rbenv/shims:/Users/itochan/.rbenv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
    
[/code]

rails コマンドを実行したときに `/usr/bin/rails` や `/usr/local/bin/rails` ではなく
`/Users/itochan/.rbenv/shims/rails` が実行されます。

PATH の設定方法は通常シェルの設定ファイルに

[code]

    export PATH=~/foo/bar:$PATH
    
[/code]

などと書きますが、 rbenv であれば

[code]

    eval "$(rbenv init -)"
    
[/code]

をシェルの設定ファイル（`.bashrc` など）に追記すると PATH が追加されます。


CC BY-SA 3.0
2015-03-01T07:13:06.267
7269
2015-03-01T07:36:55.843
2015-03-01T07:36:55.843
724
724
7267
answer