[解決済み] 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
解決方法は?
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
.
docsより。
<ブロッククオートRubyバージョンの選択 shimを実行するとき、rbenvは以下のソースから順に読み込んで、どのRubyバージョンを使用するかを決定します。
RBENV_VERSION環境変数(指定されている場合)。rbenvシェルコマンドを使用すると、現在のシェルセッションでこの環境変数を設定することができます。
<ブロッククオート実行中のスクリプトのディレクトリとその親ディレクトリをファイルシステムのルートに達するまで検索し、最初に見つかった .ruby-version ファイルです。
<ブロッククオート現在の作業ディレクトリとその親ディレクトリをファイルシステムのルートまで検索して、最初に見つかった .ruby-version ファイルです。現在の作業ディレクトリにある .ruby-version ファイルは、rbenv local コマンドで変更することができます。
<ブロッククオートグローバルな ~/.rbenv/version ファイル。このファイルは、rbenv globalコマンドを使用して変更することができます。グローバルなバージョンファイルが存在しない場合、rbenv は "system" Ruby を使いたい、つまり rbenv がパスにない場合に実行されるバージョンを使いたいのだと仮定します。
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Gemfile が見つかりません。
-
[解決済み] Ruby プログラムに一定時間待つように指示する
-
[解決済み] Rubyでnil値をマッピングして削除する方法
-
[解決済み] Rubyのcontinueに相当します。
-
[解決済み] 文字列の文字をアルファベット順に並べるには?
-
[解決済み] ネストされたクラスとモジュールにネストされたクラスはいつ使用するのですか?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】git pullしようとするとエラー: .git/FETCH_HEAD を開けない: パーミッションが拒否される
-
[解決済み] Rubyでファイルをあるディレクトリから別のディレクトリにコピーする
-
[解決済み] Ruby 'require' エラー: そのようなファイルをロードできない
-
[解決済み] RMagickのインストール。MagickWand.hが見当たりません。
-
[解決済み] Rubyがブロックの中でパイプ文字を使うことについて、誰か説明してください。
-
[解決済み] Rubyで=~と/Θはどういう意味ですか?
-
[解決済み] gemのインストール中に "permission denied "エラーが発生するのはなぜですか?
-
[解決済み] Ruby: 文字列をブーリアンに変換する方法
-
[解決済み] OpenSSL AES-256-CBC 暗号化エラー、"間違った最終ブロック長" Ruby
-
ERRORの問題を解決します。rails のインストール時に gem ネイティブ拡張のビルドに失敗しました。