rbenv / Ruby / Ruby on Rails アップグレードの手順

Shunsuke Sawada

そろそろRubyまわりの環境をバージョンアップせねばと思ったのでメモ。

  


2015/03/15追記
最新版のRuby 2.2.1へのバージョンアップの記事書きました。
Rubyを2.2.1にバージョンアップする時のエラーに対処 | Workabroad.jp

基本の流れはこちらの記事でOKですが、
2.2.1へのアップグレードで躓いたら上記の記事が参考になるかもしれません。


  

rbenv

最新にする。

1
2
3
4
$ cd ~/.rbenv
$ git pull origin master
$ cd plugins/ruby-build
$ git pull origin master

  
インストール可能なバージョンを表示

1
$ rbenv install --list

  

Rubyのインストール

1
$ rbenv install 2.1.3

こういうこともできるそう。時間短縮したい場合。

1
$ CONFIGURE_OPTS="--disable-install-rdoc" rbenv install -v 2.0.0-p0

 
特定のディレクトリだけで2.1.3を使う

1
$ rbenv local 2.1.3

ちなみにこんなのも。

1
2
$ rbenv versions
$ rbenv global 2.1.3 #デフォルトで2.1.3を使う

  
Gemのアップデート

1
$ gem update --system

  
Bundlerは必須なのでイントール

1
$ gem install bundler

  

Rails

インストールする。
--no-ri --no-rdocはドキュメントのダウンロードを省略するオプション
-Vは途中の状況を表示する

1
$ gem install rails --no-ri --no-rdoc -V -v VERSION

  
でも…
たぶんNokogiriがどうこうとか言って怒られと思う。
そんな時は下記で解決。

1
2
3
4
5
6
7
#エラーメッセージ
#Could not create Makefile due to some reason, probably lack of necessary
#libraries and/or headers.  Check the mkmf.log file for more details.  You may
#need configuration options.

$ yum -y install libxml2 libxslt libxml2-devel libxslt-devel
$ gem install nokogiri -- --use-system-libraries

  
Railsのアップデートなら
Gemfile.lockのバックアップを取っておく事をお忘れなく。

1
$ bundle update rails

  
Rails 4.1.6にアップデートしようとしたら、
Gemfileにdebuggerが入っているとエラーになったのでひとまず外しました。

1
# gem 'debugger'

  
rubyのバージョンもGemfileに記載すると、herokuのデプロイの時に警告が出ません。

1
ruby '2.1.3'

参考

sstephenson/rbenv · GitHub
[bundler]Bunderを使ったGem管理のメモ | blog mg ☃ frozen
rbenvとruby-buildでRuby環境を最新に保つ
rbenv を利用した Ruby 環境の構築 | Developers.IO
Heroku Ruby Support | Heroku Dev Center
nokogiriをビルドできずにrailsのインストールが失敗する。 - Qiita
rbenv install (ruby-build) のスピードをあげたい - Qiita
  
以上です。

126
Shunsuke Sawada

おすすめの記事

acts-as-taggable-on タグを表示させる順番を決めたい
Railsを4.2にバージョンアップしたら、Vagrantのローカル開発環境にアクセスできなくなった問題
Railsのバリデーションエラー後にレイアウトが崩れるとき