ぼくらの勉強

ぼくらのための勉強をしていきます。

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ファイルの再作成)されるようになりました。

力技ではありますが、同じように困った方のご参考になれば幸いです。