rbenv + ruby-build + rbenv-gemset の環境構築をしてみた

いままでrvmを使っていたけど、rbenvに移行したのでそのときの環境設定のメモを残しておこうと思います。
rbenv + ruby-build + rbenv-gemset 環境を構築したいと思います。

まず、rubyのバージョン管理をrvmからrbenvに移行しました。
まずはrvmを削除。
[shell]
rvm implode
[/shell]

.bash_profileとかにある設定も同じく削除しました。
でrbenvのインストール。
Homebrewをつかってるので、
[shell]
brew install rbenv
[/shell]
githubからcloneするなら
[shell]
git clone git://github.com/sstephenson/rbenv.git .rbenv
[/shell]

つづいてパスを通します。
[shell]
echo ‘export PATH="$HOME/.rbenv/bin:$PATH"’ >> ~/.bash_profile
echo ‘eval "$(rbenv init -)"’ >> ~/.bash_profile
[/shell]

続いてRubyのビルドツールruby-buildをいれます。
brewを使ってるなら、
[shell]
brew install ruby-build
[/shell]

githubからcloneするなら
[shell]
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git
[/shell]

rbenvの使い方は
[shell]
rbenv install 1.9.3-p125
rbenv rehash
[/shell]

rubyをインストールするたびに必ず rbenv rehash をするのを忘れないように。
またインストールできるRubyの一覧をrbenv installで見ることができます。
[shell]
rbenv install
usage: rbenv install VERSION
rbenv install /path/to/definition

Available versions:
1.8.6-p383
1.8.6-p420
1.8.7-p249
1.8.7-p302
1.8.7-p334
1.8.7-p352
1.8.7-p357
1.8.7-p358
1.9.1-p378
1.9.2-p180
1.9.2-p290
1.9.3-dev
1.9.3-p0
1.9.3-p125
1.9.3-preview1
1.9.3-rc1
2.0.0-dev
jruby-1.6.3
jruby-1.6.4
jruby-1.6.5
jruby-1.6.5.1
jruby-1.6.6
jruby-1.7.0-dev
maglev-1.0.0
rbx-1.2.4
rbx-2.0.0-dev
ree-1.8.6-2009.06
ree-1.8.7-2009.09
ree-1.8.7-2010.01
ree-1.8.7-2010.02
ree-1.8.7-2011.03
ree-1.8.7-2011.12
ree-1.8.7-2012.01
[/shell]

インストールされているバージョンは
[shell]
rbenv versions

  • 1.9.2-p290
    1.9.3-p125
    [/shell]
    で確認できます。

また、利用するシステム全体で使うバージョンを指定するときは
[shell]
rbenv global 1.9.3-p125
[/shell]

特定のディレクトリで使うバージョンを指定する場合は
[shell]
rbenv local 1.9.3-p125
[/shell]

システムのRubyに戻すには
[shell]
rbenv global system
[/shell]

Rubyコマンドがどのバージョンの ruby にインストールされているか調べることもできます。
[shell]
rbenv whence rackup
[/shell]

最後にgemsetsの管理のためにrbenv-gemsetをインストール。
brewなら、
[shell]
brew install rbenv-gemset
[/shell]

githubからは
[shell]
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/jamis/rbenv-gemset.git
[/shell]

パスを通します
[shell]
export PATH="$HOME/.rbenv/bin:$PATH"
[/shell]

使い方は
[shell]
rbenv gemset <<tab>>
active create delete file list version
[/shell]
で表示されます。

gemsetを作るなら rbenv gemset create [version] [gemset] となります。
[shell]
rbenv gemset create 1.9.3-p125 my-set
[/shell]
.rbenv-gemsetファイルが作成されます。

appディレクトリ以下で作成したgemsetを使う場合
[shell]
cd ~/app
echo >.rbenv-gemsets my-set
[/shell]
で指定します。これでgem installでインストールしたgemは指定したgemは
$HOME/.rbenv/versions/rubyのバージョン/gemsets/gemset名/gems/ にインストールされます。

gemsetの一覧を見るには
[shell]
rbenv gemset list
1.9.2-p290:
my-app
[/shell]

.rbenv-gemsetsの存在を確認するには
[shell]
rbenv gemset file
[/shell]

gemsetを削除するには
[shell]
rbenv gemset delete 1.9.3-p125 my-set
[/shell]

で一通り良さそうでした。

これで複数バージョンのRubyでの開発環境ができました。
ちなみに自分は管理ができてなくてカオスな状況だったので、ワイルドにもインストールされているgemをすべてアンインストールして再構築しました。
gemをすべてアンインストールするワンライナーを参考にして、
[shell]
for gem in gem list | cut -d &quot; &quot; -f 1; do yes | gem uninstall $gem -a; done
[/shell]

以上、備忘録でした。

Comments