上記は最初に機能せず、2回目に機能します。
新しいシェルウィンドウのRubyバージョンを2.0.0に設定してください。
やること
$ rvm use 2.0.0 --default
与える
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/Ruby-1.9.3-p125/
bin' is not at first place,
usually this is caused by Shell initialization files - check them for '
PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --au
to-dotfiles',
to fix temporarily in this Shell session run: 'rvm use Ruby-1.9.3-p125'
.
Using /home/durrantm/.rvm/gems/Ruby-2.0.0-p247
それから同じことをする
$ rvm use 2.0.0 --default
エラーが発生しなくなりました。
$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/Ruby-2.0.0-p247
durrantm.../durrantm$
しかし、新しいウィンドウはまだ2.0.0ではなくRuby 1.9.3を提供しています。
私の.bashrc
ファイルには以下が含まれています:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"
私の.bash_profileには次のものがあります:
source ~/.profile
case $- in *i*) . ~/.bashrc;; esac
しよう
rvm get stable
動作するようですが、多くの緑の出力ショーの終わりに:
Could not update RVM, get some help at #rvm IRC channel at freenode servers.
rvm list rubies
のある新しいターミナルウィンドウはこれを示します:
$ rvm list rubies
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/Ruby-1.9.3-p125/bin' is not at first place,
usually this is caused by Shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this Shell session run: 'rvm use Ruby-1.9.3-p125'.
rvm rubies
=> Ruby-1.9.3-p125 [ x86_64 ]
Ruby-1.9.3-p194 [ x86_64 ]
* Ruby-2.0.0-p247 [ x86_64 ]
# => - current
# =* - current && default
# * - default
答えはこれを置くことでした:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# Load RVM into a Shell session *as a function*
** at the BOTTOM **(最終行-重要!)私の.bashrcファイル。 .bash_profileファイル(Ubuntuを使用しています)にそれが含まれていましたが、部分的にしか機能せず、混乱を招くエラーにつながりました。
Rvmをアンインストールした後にスタックしました
rvm implode
rvmを再インストールした後、同じエラーメッセージを受け取りました。 wayne seguinのgitハブページを確認した後。彼は自分のページにツールをリストし、使用することをお勧めします
rvm reset
インストール後。これでエラーメッセージが修正されました。 PATHの編集は必要ありません。
これを解決する最善の方法ではないかもしれませんが、この行を.zshrcの下部に追加しました(.bashrcでも動作します!)
export PATH="$GEM_HOME/bin:$PATH"
Michael Durrantのソリューションを試しましたが、うまくいきませんでした。しかし、rvm get stable --auto-dotfiles
を実行し、希望どおりに動作し始めました。
それが役に立てば幸い
これは、尋ねられた質問に対する答えではなく、ほとんどのコメンター/レスポンダーが尋ねた関連する質問への答えです-なぜシェルrcファイルの最後にrvm行を置く必要があるのですか?
答えは簡単です。
$PATH
の「前」に置きます。.bashrc
(またはデフォルトのシェルと同等)は、上から下に行ごとに読み取られ、解釈されます。次のシナリオを想像してください。
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
$ [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
/Users/sankalp/.rvm/gems/Ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/Ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/Ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
$ export PATH=<something>:$PATH
$ echo $PATH
<something>:/Users/sankalp/.rvm/gems/Ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/Ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/Ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
シェルの初期化ファイルに何かが存在する場合は明らかに後 RVM行と$ PATHに変更を加えます。具体的には$PATH
にディレクトリを追加する場合、それらの変更は追加されたディレクトリをプッシュします最初の位置からrvmダウン。 RVMは、呼び出されると、そのRubyバイナリディレクトリが$PATH
およびBAMの先頭にあるnotであることがわかります。警告が表示されます:)。
それが物事を明確にすることを願っています。
私は同じ問題に直面していました。私はそれをbashrcファイルで見つけました
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export PATH=$HOME/local/bin:$PATH
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
rvmの複数のエントリ。 1つのエントリとその正常に動作するコメントしました。
#export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
#export PATH=$HOME/local/bin:$PATH
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
私の経験を追加するだけです:.bash_profile
を使用している場合、.bashrc
が干渉していないかどうかを確認してください。 .bashrc
による単一のBash構成を支持して.bash_profile
を強制終了すると、この場合はうまくいきます。
これについては、追加の質問があります(コメントを追加したいだけですが、クレジットが足りません)。私はこれとまったく同じ問題を抱えていました---auto-dotfiles
を使用して提案されたrvmスクリプトを実行したとき、シェルスクリプトが。bashrc_profileファイルを削除したため、トラブルになりました。
とにかく、最終的には上記と同じ答えに至り、この行を。bashrcファイルの下部に配置しました。 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
.bashrcファイルの中央の行ではなく、なぜそれが機能するのかを見つけましたか? UnixがRVMをあるインスタンスで動作させ、別のインスタンスでは動作させない環境変数をロードする方法について、明確にしていますか?
.zshrcのPATH =行から.rvmを含むすべてのものを削除しました
これで問題は解決しましたが、ここでの他の回答(rvmスクリプトの入手、または自動ドットファイルでの安定化)は解決しませんでした。
このコマンドは非常に便利であることがわかりました。それは私の場合を解決します。誰かが同じ問題を抱えているなら、これを試してみてください:rvm get stable --auto-dotfiles
rvm install Ruby-head
私のために問題を修正しました-少し時間がかかりますが、トリックをしました。それが私のbashファイルに発音されない更新を行ったかどうかはわかりません。
あなたは付け加えられます
rvm_silence_path_mismatch_check_flag=1
~/.rvmrc
ファイルに。これが警告メッセージが示唆するものです。
上位2行の重複行にコメントを付け、下部に追加した後に機能しました。動作させるためにターミナルを再起動することを忘れないでください。
#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
~/.profile
、~/.bashrc
、~/.zshrc
を削除することになりました。
基本的に、私は~/.bash_profile
のみをMacに保存しました。そしてそれは動作します。
私の場合、次のものがあると思います。
export PATH = "$ PATH:$ HOME/.rvm/bin" [[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm "#RVMをシェルセッションに*関数として*
これらのファイル、およびそれらの重複した設定で混乱しているrvm