Named Log

とあるエンジニアの歩み

rvmからrbenvへの移行ごにょごにょ

はじめに

ここ最近Ruby on Railsに触れる機会を持って、環境構築で遭遇した面倒thingとその解決法を書き留めます。
CeylonとLAIは保留です。

面倒thing

遭遇したのはrvmからrbenvへの移行で起きた面倒thingです。
今回Ruby on Railsに触れる以前にどうやらRubyを触ろうとした自分がいたらしく、rvmでのバージョン管理を採用していました。
しかしRailsでのRubyを含めるとなるとrbenvの方が都合がいいっぽい(自分調べ)ので移行を決めました。
環境はOSX 10.11.5で、Homebrewが入っている前提です。
zshとかは使ってません。普通にbashです。
ちなみにrvmの導入法は覚えていません。

以下は

$rvm seppuku
$rm -rf ~/.rbenv
$brew update
$brew install rbenv ruby-build
$rbenv install i.j.k
$rbenv install x.y.z

とかを叩いた後の動作です。

簡単に言うと

$rbenv global i.j.k

と叩いても

$ruby -v

でバージョンの変化が確認できなかったというものです。

あっているかわからない解説と一緒に叩いたコマンドを並べます。


うまく動いていない~/.rbenvを消します

$rm -rf ~/.rbenv

もとのやつをクローンします

$git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

~/.bash_profileになんか書きます。

$emacs ~/.bash_profile
...
export PATH=.:~/.rbenv/bin:$PATH
eval "$(rbenv init -)"

と追記します。もし他にPATHに追加しているものがあればそれも一緒に書いてください。
自分の場合はライブラリがまとめてあるディレクトリへのパスが書かれています。

先ほどの.rbenvを消した動作の影響で

$rbenv global i.j.k

とかができないので

$rbenv install i.j.k

を必要なバージョンごとに行います。

インストール完了後に

$rbenv global x.y.z
$rbenv rehash
$ruby -v

すると、バージョンがちゃんとx.y.zに変わっていると思います。

おまけに、Rails 5.0.0.rc1の導入法もつけときます。
5.0.0.rc1はruby-2.2.2以上が条件なので

$rbenv install 2.2.2
$rbenv global 2.2.2
$rbenv rehash

もしくはそれ以上のバージョンのインストールを行い、必要に応じてglobal、localをわけてバージョンを設定します。
ちなみに僕は2.3.1を導入しました。
そのあとgemを使ってrailsの導入をします。

$gem install rails -v 5.0.0.rc1

以上でできると思います。
gemの管理はbundlerでやるとかなんとか。
できなかったらごめんなさい、何か指摘をいただければと思います。

おわりに

特に難しいことでもないですが忘れないように書き留めておきました。
Ruby on Rails、思想とかバックグラウンドの動作がなかなか魅力的なので頑張って勉強していきたいと思います。
Procon27もそろそろ書類提出の時期に入ってきました。どちらかというとそっちがメインなので頑張りたいと思います。
ではまた。