rbenv
rubyをプロダクト毎にバージョンを管理する必要性は以下の2つにあると考えています。
- ローカルを汚さない
- 複数のプロダクトを落とす毎に毎度毎度バージョンを切り替えるのは大変
gemsetを併用して使うと尚、いいと推測します。下記のリンクはrbenv-gemsetの使い方です。
rbenv-gemsetを使ってプロジェクト毎のgemを管理して、railsプロジェクトを開始する
rbenvをbrewでインストールする
$ brew installl rbenv
rbenvの基本コマンド群
インストールできるrubyのパッケージを確認
$ rbenv install -l
インストールしてあるrubyのバージョンを管理できる
$ rbenv versions
rbenvの初期化
$ rbenv init
rubyをインストールする
$ rbenv install バージョン
インストールしたrubyのバージョンを反映させる
$ rbenv rehash
システム全体のrubyバージョンを設定する
$ rbenv global rubyバージョン
プロダクト毎にrubyバージョンを設定する
$ rbenv local rubyバージョン
基本的なコマンドはざっと上記の通りです。
プロダクト毎にrubyバージョンを管理する
必要なrubyバージョンを手に入れる
$ rbenv install rubyバージョン
$ rbenv rehash
初期化する
$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
initして出てきた内容を.zshrcに書き込み、反映させる
$ echo 'eval "$(rbenv init -)"' >> .zshrc
$ source ~/.zshrc
ここまではglobalでrubyバージョンを反映させる時も行う動作。
$ which ruby
/usr/bin/ruby
と出てくる場合はまだ参照先がシステムのrubyに向いているので、initを行って設定ファイルをsourceコマンドで反映させた後に
$ which ruby
/Users/あなたのユーザー名/.rbenv/shims/ruby
のようなパスが返ってくれば、rbenvでinstallしたrubyを見るようになっている。
管理するプロダクトへ移動し、localへセットする
$ cd プロダクト名
$ rbenv local rubyバージョン
下記のようなファイルができているはずです
$ cat .ruby-version
2.5.4
rubyのバージョンが変わったことを確認する
プロダクト内部では下記のバージョンに
$ ruby -v
ruby 2.5.4p155 (2019-03-13 revision 67245) [x86_64-darwin19]
$ rbenv versions
system
* 2.5.4 (set by /Users/naoya.ohsaki/gx_community_admin/.ruby-version)
2.7.0
$ cd
プロダクトの外部では下記のバージョンに
$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
$ rbenv versions
* system (set by /Users/naoya.ohsaki/.rbenv/version)
2.5.4
2.7.0
上記のように切り替わっていたら完了です。お疲れ様でした。