rbenv をインストールしたので覚書

今まで めんどくさかったので rbenv を使っていなかったのですが Ruby 2.5 をインストールする為に入れたのでその覚書。
rbenv とは?みたいなことは以下の記事を参照してください。

事前準備

すでに system の gem で bundle などをインストールしている場合は削除しておくと混乱が少ない。

$ gem uninstall bundler
$ gem uninstall bundle

あと ~/.bundle なども削除しておく。

rbenv のダウンロード

rbenv 本体は ~/.rbenv に保存

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

ruby-build のダウンロード

rbenv 以外に Ruby 本体をインストールするための ruby-build が必要なのでそれの保存。

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

.bashrc に rbenv を読み込む設定を追記

rbenv をダウンロードしただけでは PATH などが設定されていないので .bashrc で設定を初期化するように追記。

export RBENV_ROOT="${HOME}/.rbenv"
if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

Ruby のインストール

rbenv installRuby のインストールし、rbenv global で使用する Ruby を設定する。

$ rbenv install 2.5.0
# rbenv intall や gem install した後に呼び出す
$ rbenv rehash
# global で使用する Ruby の設定
$ rbevn global 2.5.0
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

rbevn rehash を忘れないように。

ruby -v で system の Ruby を参照してる場合に試すこと

rbenv versions の確認

rbenv versions で現在インストールしてる Ruby と設定されている Ruby を確認する。

$ rbenv versions
  system
* 2.5.0 (set by /home/worker/.rbenv/version)

rbenv local をリセット

可能性は低いんですが rbenv local --unset でローカルのバージョンを削除してみる。

$ rbenv local --unset
$ rbenv rehash

bundle install でハマった

bundle install した際に rbenv ではなくて system 側の gem を参照しておりはまった。

bundle の PATH を確認

bundle コマンドが rbenv 側のものを参照しているか確認

$ which bundle
~/.rbenv/shims/bundle

~/.bundle を削除

手元だとこれを削除したら改善しました。

参照