Homebrew + rbenv で複数バージョンのrubyをインストールする
何回も同じことをググりそうなので、自分用のメモを書いておきます(●^o^●)
私の環境:Mac OS X 10.10.4 Yosemite
とあるruby のgemをインストールしようとしたところ
$ gem install sinatra Fetching: rack-1.6.4.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
というメッセージが表示されました。
http://stackoverflow.com/questions/14607193/installing-gem-or-updating-rubygems-fails-with-permissions-error
によると大雑把な意訳ですが次のようなことが書いてあります。
このメッセージが出るということはAppleがプリインストールしているRubyなので、
システム権限を使ってこの環境をいじるとシステム全体に影響してしまう。
rbenv や RVM を使って自分のHOMEディレクトリ内のサンドボックスに別途Rubyの環境を
用意することをおすすめする。
なのでrbenvを導入することにしました。
rbenvとは複数のrubyバージョンをマネージするツールです。簡単なコマンドで環境を切り換えることができます。
homebrewをインストール
便利なパッケージマネージャー「homebrew」を使ってインストールしたいのでまずhomebrewをインストールします。
Homebrew — The missing package manager for OS X
参考サイト様:Homebrewのインストールとrbenvのインストール Mac編qiita.com
※ このコマンドはやりたい人だけやってください。
sudo mv /opt/local ~/macports
# => macportが原因なので、上記コマンドで削除。
# => こちらは失敗する可能性もありますが、無視して大丈夫です。
macportsは削除して進んでみました。
$brew list
で今インストールされているものが見られます。
rvenvをインストール
次はHomebrewからrvenvをインストールします
参考サイト様:Mac OS X Lion に複数のRuby を入れる;homebrew、rbenv + ruby-build を使ってblog.livedoor.jp
$brew install rbenv ==> Downloading https://github.com/sstephenson/rbenv/archive/v0.4.0.tar.gz ######################################################################## 100.0% ==> Caveats To use Homebrew's directories rather than ~/.rbenv add to your profile: export RBENV_ROOT=/usr/local/var/rbenv To enable shims and autocompletion add to your profile: if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi ==> Summary 🍺 /usr/local/Cellar/rbenv/0.4.0: 31 files, 152K, built in 4 seconds
インストールされました。
$ brew list
を打つとHomebrewでインストールしたものが一覧で表示されます
インストール時のメッセージの内容を反映します。次のコマンドで.bash_profile に設定を追加します。
echo 'export RBENV_ROOT=/usr/local/var/rbenv' >> ~/.bash_profile echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi'>>~/.bash_profile
.bash_profileの変更を反映させます
$ source ~/.bash_profile
Rubyのインストール
次にRubyのインストールをします。
● ruby-buildプラグインをインストール
インストール可能なRubyのバージョンを調べるコマンド↓を実行します。
$ rbenv install -l
rbenv: no such command `install'
というエラーメッセージが表示されることがあります。
実はinstall コマンドを使うには ruby-buildプラグインをインストールする必要があります。
$ brew install ruby-build
これで改めて$ rbenv install -l コマンドを実行するとインストール可能なバージョンのリストが表示されます。
ところで、rubyをrbenvでインストールする前は現在のrubyはsystemのrubyを使用する状態になっています↓
後で同じコマンドを試してみたいと思います。
$ which ruby /usr/bin/ruby $ rbenv versions * system (set by /usr/local/var/rbenv/version)
● ruby最新安定バージョンをインストール
rbenv install -lで表示されたリストの中から最新安定バージョン(2015/08/08時点では2.2.2)をインストールします。
それなりに時間がかかります。
$ rbenv install 2.2.2
インストールした後先ほどのコマンドを実行してみます。
$ which ruby /usr/local/var/rbenv/shims/ruby $ rbenv versions * system (set by /usr/local/var/rbenv/version) 2.2.2
となりsystemのRubyに加えユーザー環境に2.2.2が加わりました。
● 使用する Ruby のバージョンを指定します
$ rbenv global 2.2.2
$ rbenv versions system * 2.2.2 (set by /usr/local/var/rbenv/version)
と切り替えできました。
$ ruby -v ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
以上です。