平衡点
2013/02/26
_ Ruby 2.0 on Debian with ruby-build, rbenv
日曜日の関西Debian勉強会でもお話ししましたが, Debian パッケージになっていない Ruby インタープリタを気軽に試すには ruby-build + rbenv が便利です.
というわけで, Ruby 2.0p0 を install してみました. 環境は Debian 7.0 (Wheezy) です. 以下, 6.0 Squeeze では動作未検証なのでご注意下さい.
ruby-build? rbenv?
ruby-build も rbenv も Debian 固有のモンではありませんので, ご存知の方もいらっしゃるかと.
というわけでここでは割愛. 上記リンク先を読んで下さい(手抜き).
インストール
いつも通り apt-get で.
% sudo apt-get install ruby-build rbenv
rbenv の初期設定
先ずは初期化
% rbenv init # Load rbenv automatically by adding # the following to ~/.zshrc: eval "$(rbenv init -)"
というわけで, お使いの shell のどこかに =eval "$(rbenv init -)"= と書いて, shell の設定ファイルを再読み込みしておきましょう.
この段階では rbenv は何も管理していません
% rbenv versions % rbenv version system (set by /home/uwabami/.rbenv/version)
Debian の rbenv には多少手が加えられていて, パッケージでインストールした MRI(Ruby1.8, Ruby1.9.3) も rbenv で管理できます.
% rbenv alternatives % rbenv versions 1.8.7-debian 1.9.3-debian
というわけで, パッケージでインストールした Ruby1.8.7, Ruby1.9.3 が rbenv で使えます.
% rbenv global 1.8.7-debian % ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux] % rbenv global 1.9.3-debian % ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
ここまでで rbenv のお膳立ては御仕舞い.
ruby-build の注意
ruby-build パッケージの README.Debian には以下の様にあります.
While ruby-build is a great tool to build Ruby versions that are not available via APT, you should still use the Debian-packaged versions of Ruby whenever possible since they are tested and supported by the Debian community. Please do not report bugs you encounter while using your homebuilt Rubies to the Debian team; Rubies built by yourself are not supported.
というわけで, Debian に BTS にバグレポートを送ったりしないで下さいね.
ruby-build で Ruby 2.0p0 をインストール
Debian の提供している ruby-build の definitions は 2.0.0-dev までしかありません.
% ruby-build --definitions ...
というわけで usr/share/ruby-build 以下にある definitions を眺めて, 適当に修正します. 私はこんな感じにしてみました.
% cat ruby2.0.0p0 install_package "ruby-2.0.0-p0" "http://ftp.ruby-lang.org/pub/ruby/ruby-2.0.0-p0.tar.gz" autoconf standard
その後で build-dep でビルドに必要(そう)なパッケージを install して...
% sudo apt-get build-dep ruby1.9.1-dev
rbenv 管理化に ruby-build で install します
ruby-build --verbose ruby2.0.0p0 `echo $HOME`/.rbenv/versions/ruby-2.0.0p0 ...
多少時間かかります(10分ぐらい?)ので, 気長に待ちます. その後は
% rbenv versions 1.8.7-debian * 1.9.3-debian (set by /home/uwabami/.rbenv/version) ruby-2.0.0p0 % rbenv global ruby-2.0.0p0 % ruby -v ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
やったね!
まとめ
多分, この手の記事は沢山出てくると思うのですが, とりあえず, ruby-build と rbenv を使うことで Wheezy 以降で Ruby 2.0p0 を動かすまで, のお話でした.
rbenv は local オプションを使うことで, 特定のアプリケーションでの動作を制御したり, Bundler と仲良くできたり, 大変便利です.
Ruby 2.0 自体は現在パッケージング作業中なので, そのうち unstable にも収録されると思います. 収録されたら即座に backports しようと思いますので, その際にはまたなんか書きます.