web-dev-qa-db-ja.com

rvm use 2.0.0 --defaultを実行するときに「警告!PATHが正しく設定されていません」と表示される

上記は最初に機能せず、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
101
Michael Durrant

答えはこれを置くことでした:

[[ -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を使用しています)にそれが含まれていましたが、部分的にしか機能せず、混乱を招くエラーにつながりました。

164
Michael Durrant

Rvmをアンインストールした後にスタックしました

rvm implode

rvmを再インストールした後、同じエラーメッセージを受け取りました。 wayne seguinのgitハブページを確認した後。彼は自分のページにツールをリストし、使用することをお勧めします

rvm reset 

インストール後。これでエラーメッセージが修正されました。 PATHの編集は必要ありません。

159

これを解決する最善の方法ではないかもしれませんが、この行を.zshrcの下部に追加しました(.bashrcでも動作します!)

export PATH="$GEM_HOME/bin:$PATH"

Michael Durrantのソリューションを試しましたが、うまくいきませんでした。しかし、rvm get stable --auto-dotfilesを実行し、希望どおりに動作し始めました。

それが役に立てば幸い

22
Sparkmasterflex

これは、尋ねられた質問に対する答えではなく、ほとんどのコメンター/レスポンダーが尋ねた関連する質問への答えです-なぜシェルrcファイルの最後にrvm行を置く必要があるのですか?

答えは簡単です。

  1. ロードされるrvmコードは、rvm Rubyバイナリディレクトリを$PATHの「前」に置きます。
  2. .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であることがわかります。警告が表示されます:)。

それが物事を明確にすることを願っています。

8
Sankalp

私は同じ問題に直面していました。私はそれを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
5
Deepak Kabbur

私の経験を追加するだけです:.bash_profileを使用している場合、.bashrcが干渉していないかどうかを確認してください.bashrcによる単一のBash構成を支持して.bash_profileを強制終了すると、この場合はうまくいきます。

5
Ain Tohvri

これについては、追加の質問があります(コメントを追加したいだけですが、クレジットが足りません)。私はこれとまったく同じ問題を抱えていました---auto-dotfilesを使用して提案されたrvmスクリプトを実行したとき、シェルスクリプトが。bashrc_profileファイルを削除したため、トラブルになりました。

とにかく、最終的には上記と同じ答えに至り、この行を。bashrcファイルの下部に配置しました。 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

.bashrcファイルの中央の行ではなく、なぜそれが機能するのかを見つけましたか? UnixがRVMをあるインスタンスで動作させ、別のインスタンスでは動作させない環境変数をロードする方法について、明確にしていますか?

5
David Kim

.zshrcのPATH =行から.rvmを含むすべてのものを削除しました

これで問題は解決しましたが、ここでの他の回答(rvmスクリプトの入手、または自動ドットファイルでの安定化)は解決しませんでした。

3
Caleb

このコマンドは非常に便利であることがわかりました。それは私の場合を解決します。誰かが同じ問題を抱えているなら、これを試してみてください:rvm get stable --auto-dotfiles

2
castro4000

rvm install Ruby-head私のために問題を修正しました-少し時間がかかりますが、トリックをしました。それが私のbashファイルに発音されない更新を行ったかどうかはわかりません。

1
user2164305

あなたは付け加えられます

rvm_silence_path_mismatch_check_flag=1

~/.rvmrcファイルに。これが警告メッセージが示唆するものです。

1
AkaZecik

上位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*
0
Dave

~/.profile~/.bashrc~/.zshrcを削除することになりました。

基本的に、私は~/.bash_profileのみをMacに保存しました。そしてそれは動作します。

私の場合、次のものがあると思います。

 export PATH = "$ PATH:$ HOME/.rvm/bin" 
 [[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm "#RVMをシェルセッションに*関数として* 

これらのファイル、およびそれらの重複した設定で混乱しているrvm

0
Steven Yue