New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

Rubyのバージョンを変更する

gemfileを以下のように記載して、bundle installしたら、

利用しているRubyのバージョンと、Gemfileで指定したRubyのバージョンが異なっているというエラーが発生しました。

~/workspace/xapp7(firstview)$ bundle install --path=vendor/bundle --without production
Your Ruby version is 2.1.1, but your Gemfile specified 2.1.2

そこで、Nitrousのドキュメントを参考にRubyの利用バージョンを変更してみました。

 

■ 現在利用しているRubyのバージョンを確認

 

~$ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]

 

■ NitrousにインストールされているRubyのバージョンを確認

~$ chruby
* ruby-2.1.1

 

■ NitrousにインストールできるRubyのバージョンを確認

~$ parts search ruby
chruby (0.3.8) Chruby: Changes the current ruby
ruby2.1 (2.1.2) Ruby 2.1.2: A dynamic programming language with a focus on simplicity and productivity.
ruby1.9 (1.9.3-p545) Ruby 1.9.3: A dynamic programming language with a focus on simplicity and productivity.
ruby2.0 (2.0.0-p451) Ruby 2.0.0: A dynamic programming language with a focus on simplicity and productivity.
ruby_install (0.4.1) Ruby Install: Installs Ruby, JRuby, Rubinius, MagLev or MRuby

 

■ NitrousにRubyをインストール

~parts install ruby2.1
=> Extracting archive... 
=> Installing... 
=> Activating... 
=> Installed ruby2.1 2.1.2

 

■ Nitrousで利用するRubyのバージョンを変更

~$ echo 'ruby-2.1.2' > .ruby-version

上記コマンドを実行したら、Boxes画面で再起動をかけます。

f:id:New-Village:20140906190043p:plain

再起動が完了したら、Rubyが正しく切り替わっているかどうか確認します。

~$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
~$ chruby
ruby-2.1.1
* ruby-2.1.2

 

Rubyのバージョン変更後にやるべきこと

Rubyはバージョン毎にパッケージを管理しているので、バージョンを変更した際に、使いたいパッケージを再度インストールする必要があります。

~/workspace/xapp7(firstview)$ gem install railties
Fetching: bundler-1.7.2.gem (100%)
Successfully installed bundler-1.7.2
...
~/workspace/xapp7(firstview)$ gem which bundler
/home/action/.gem/ruby/2.1.2/gems/bundler-1.7.2/lib/bundler.rb

~/workspace/xapp7(firstview)$ gem install rake