pixyzehn blog

iPhone App, Mac App, Programming, Web service, Tool, Evernote, etc

tmux+tmuxinator+rbenvでバージョン管理が反映されずRBENV_VERSIONが勝手に設定されてしまう件

% rbenv versions

をすると

  system
* 1.9.3-p327 (set by RBENV_VERSION environment variable)
  2.0.0-p247

となってrbenv globalをしてもバージョンが変更しない問題の解決方法です。

環境変数RBENV_VERSION が設定されているため、rbenv がそちらを見てしまう事が原因のようでした。


実際に

export RBENV_VERSION=1.9.3-p392

と環境変数を変更するとrubyのバージョンを変更することができました。


こちらのブログにて解決方法がわかりました。


tmux + tmuxinator + rbenv の環境で RBENV_VERSION が勝手に設定されてしまう件 - akishin999の日記tmux + tmuxinator + rbenv の環境で RBENV_VERSION が勝手に設定されてしまう件 - akishin999の日記はてなブックマーク - tmux + tmuxinator + rbenv の環境で RBENV_VERSION が勝手に設定されてしまう件 - akishin999の日記


.tmux.confに以下を追記すれば僕の環境においても直りました。

set-environment -gu RBENV_VERSION

上記を追加して

tmux kill-server  

すると

% rbenv versions
  system
  1.9.3-p327
* 2.0.0-p247 (set by /Users/hiroki/.ruby-version)

このようにちゃんとバージョン管理されていることがわかります。

現在は/Users/hiroki/.ruby-versionのバージョンが指定されており、プロジェクトで特定のバージョンを使いたいときに使うものなので

rm -rf .ruby-version

をして消すと

% rbenv versions
  system
  1.9.3-p327
* 2.0.0-p247 (set by /Users/hiroki/.rbenv/version)

ちゃんとrbenv globalでRubyのバージョンが切り替えることができるようになりました。

まとめ

気をつけるべきこと

  • rbenvのlocalとglobalの区別
  • tmuxとtmuxinatorを使っている場合は注意

https://github.com/aziz/tmuxinator/issues/99