osxとdebian上でrbenv + ruby-buildを使ってruby 2.0.0-p0をインストール
今更な上に色んな人が書いていますが自分もやってみました。
rbenv, ruby-build
rbenvはrvmのような複数バージョンのRubyを管理するためのツールで、 ruby-buildはrbenv installを提供するrbenvのプラグインです。 環境変数でバージョンの切替などができる模様です。
参考: rbenvとRVMとの違い
インストール環境
- mac osx(Mountain Lion 10.8.3, x86_64)
- さくらVPS上のdebian(squeeze 6.0.7, x86_64)
- homebrew/apt-get, gitはインストール済み
mac osx上でのインストール
この記事を参考にさせて頂きました。 ここではhomebrewを使ってrbenv, ruby-buildのインストールを行います。 ちなみにruby 2.0.0-p0を使いたいだけならばhomebrewで直接導入もできるみたいです。
0. 準備
予めreadline、opensslをインストールしておきます。
$ brew update
$ brew install readline
$ brew install openssl
1. rbenv, ruby-buildのインストール
以下のようにしてインストールします。
$ brew install rbenv
$ brew install --HEAD ruby-build
2013/10/27追記
ruby-buildでインストール可能なrubyのバージョン一覧を更新したいときは、gitで入れた場合はpullするだけですが、homebrewで入れている場合は一旦brew uninstall --HEAD ruby-build
した後に再びinstallしてやれば最新のruby-buildがインストールされるのでこれで一覧が更新されます。
2. ruby 2.0.0-p0をインストール
以下を実行して
$ rbenv install -l
一覧にruby 2.0.0-p0
があることを確認した後に、
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p0
でインストールします。インストール後、以下を実行します。
$ rbenv rehash
$ rbenv global 2.0.0-p0
rbenv rehash
は~/.rbenv/shims
を更新することで、インストールしたrubyやgemの情報を更新するコマンドです。
~/.rbenv/shims
はirb, gem, rake, rails, ruby
といったrubyに関するコマンドを維持するためのディレクトリで、
このディレクトリをパスの先頭に追加してやる必要があります。
公式にはこのためにrbenvは予め以下を実行することで、パスの追加及び自動補完を有効化し、
ついでに.zshenv
(bashの場合は.bash_profile
)にeval $(rbenv init -)
を書き込んでくれる旨が書かれています。
$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
rbenv init -
のみを実行すると何が行われているかが分かると思います。
一方でrbenv global
は~/.rbenv/version
を更新するためのコマンドです。
このファイルが存在しない場合、rbenvはシステムにインストールされたrubyを使用することを想定するようです。
またrbenv local
でアプリケーション毎に利用するrubyのバージョンを切り替えられたりするようです。
この上で、以下を実行してバージョンを確認します。
$ ruby -v
これでruby 2.0.0p0
が表示されれば無事インストール完了です。
2013/10/27 追記
osxをmavericksにアップデートしたらrbenv install
実行時に以下のようなエラーが出るようになりました。
BUILD FAILED
Inspect or clean up the working tree at /var/folders/nc/h5hw29596zzbhrcstv7h24hr0000gn/T/ruby-build.20131027021741.58118
Results logged to /var/folders/nc/h5hw29596zzbhrcstv7h24hr0000gn/T/ruby-build.20131027021741.58118.log
Last 10 log lines:
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking for gcc-4.2... gcc-4.2
checking for gcc... (cached) gcc-4.2
checking whether the C compiler works... no
configure: error: in `/var/folders/nc/h5hw29596zzbhrcstv7h24hr0000gn/T/ruby-build.20131027021741.58118/ruby-2.0.0-p195':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found. Stop.
コンパイラが問題だということが分かるので、
$ CC="/usr/bin/clang" RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p0
とコンパイラを明示的に指定してインストールすることで解決します。
debian上でのインストール
この記事を参考にさせて頂きました (Qiita上で僕も記事を書くべきのような気もして来ましたが…)。 debianではapt-getを使って必要なパッケージ一式を取得した後に、 rbenv, ruby-buildをgithub上のリポジトリをcloneして取得します。
0. 準備
予めビルドに必要なパッケージ一式をインストールします。
$ sudo apt-get update
$ sudo apt-get install build-essential bison openssl libreadline6 \
libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev \
libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf \
libc6-dev ncurses-dev
1. rbenv, ruby-buildのインストール
公式を参考に以下のようにしてgitで取得し、各種設定を行います。
rbenvのインストールは以下のように行います。~/.rbenv/binにパスを通しているのは、
rbenv init`の実行のためです。
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l # restart login shell
この上でruby-buildをインストールします。
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
2. ruby 2.0.0-p0をインストール
以下を実行して
$ rbenv install -l
一覧にruby 2.0.0-p0
があることを確認した後に、
$ rbenv install 2.0.0-p0
でインストールします。インストール後、以下を実行します。
$ rbenv rehash
$ rbenv global 2.0.0-p0