rbenvでglobalやlocalが効かない時の対策
rbenvではプロジェクト(アプリ)毎にrubyのバージョンを分けて管理することができます。
全体に適用されるデフォルトのrubyのバージョン指定
$ rbenv global xxxxx
各アプリ毎のrubyバージョン指定
$ cd xxxxx(適用するアプリのディレクトリに移動) $ rbenv local xxxxx
localコマンドが反映されない場合
ただ自分の環境でこのコマンドを使ってバージョンを管理していたときにglobalもlocalも効かないという状態に陥ったことがありました。rbenv rehashも効かず。
結論から言うと、これは各プロジェクトのディレクトリにある.ruby-versionというファイルを削除すると反映されるようになりました。
rbenvでは.ruby-versionという名前のファイルで各プロジェクトのバージョン管理をしているとのことだったので、このファイルを見てみたところ中身は「2.3.0」というrubyのバージョンを表す5文字のテキストデータ。
rbenvのlocalコマンドを打つとこの文字列が変更されるという流れなのですが、僕のケースでは何らかの原因で変更できませんでした。
このファイルを削除することでglobalのバージョンがそのプロジェクトに適用され、改めて行ったlocalコマンドでも変更が反映(.ruby-versionファイルの再作成)されるようになりました。
力技ではありますが、同じように困った方のご参考になれば幸いです。