rbenv は Ruby のバージョンを変更しません 質問する

rbenv は Ruby のバージョンを変更しません 質問する

github の指示に従って rbenv をインストールしました。OSX を実行していますが、Ubuntu 12.04 VM でも試したところ、同じ結果になりました。Ruby のバージョンを変更しようとしたときにターミナルに表示される内容は次のとおりです。

rbenv versions
* 1.9.3-p0 (set by /Users/user/.rbenv/version)
1.9.3-p125

rbenv global
1.9.3-p0

rbenv rehash

ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

which ruby
/usr/bin/ruby

rbenv が ruby​​ のバージョンを期待通りに切り替えない理由について、何か考えはありますか? また、ローカル ディレクトリに ruby​​ のバージョンをデフォルトで 1.8.7 にする .rbenv ファイルがありません。

rbenv local
rbenv: no local version configured for this directory

ベストアンサー1

PATHに次の内容が含まれているか確認し$HOME/.rbenv/shims$HOME/.rbenv/bin

$ env | grep PATH

また、bashを使用している場合は~/.bash_profileに、zshを使用している場合は~/.zshenvに次の内容が含まれていることを確認してください。

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

注意: ~/.bash_profile の最後の設定であることを確認してください。.bash_profile を更新して PATH をリセットするプログラムをインストールしたときに問題が発生しました。

最後に、フォルダー内で を行った場合に誤って作成した可能性のあるファイルがフォルダー$HOME内にないことを確認します。 を行うとファイルが変更され、フォルダー内にファイルが存在すると によって設定されたバージョンが上書きされます。.ruby-version$ rbenv local <ruby-version>$HOME$ rbenv global <ruby-version>$HOME/.rbenv/version.ruby-version$HOME$HOME/.rbenv/version

ドキュメントより:

Ruby バージョンの選択 shim を実行すると、rbenv は次のソースから順番に読み取って、使用する Ruby バージョンを決定します。

RBENV_VERSION 環境変数(指定されている場合)。rbenv シェル コマンドを使用して、現在のシェル セッションでこの環境変数を設定できます。

実行しているスクリプトのディレクトリとその親ディレクトリをそれぞれ検索して、ファイルシステムのルートに到達するまで、最初に見つかった .ruby-version ファイル。

現在の作業ディレクトリとその各親ディレクトリを検索してファイルシステムのルートに到達すると、最初に見つかった .ruby-version ファイル。rbenv local コマンドを使用して、現在の作業ディレクトリの .ruby-version ファイルを変更できます。

グローバル ~/.rbenv/version ファイル。このファイルは、rbenv global コマンドを使用して変更できます。グローバル version ファイルが存在しない場合、rbenv は「システム」Ruby (つまり、rbenv がパスにない場合に実行されるバージョン) を使用するものと想定します。

おすすめ記事