RVMがZSHで機能していない


96

MacでZSHシェルを試してみたいのですが、RubyやRailsの開発も数多く行っているため、RVMもかなり使用しています。問題は、RVMをZSHで動作させることができず、デフォルトのBashシェルで問題なく動作することです。

> zsh
> rvm 1.9.2
> ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
> which ruby
/usr/bin/ruby

RVMとruby 1.9.2がRVMにインストールされていることは間違いなく確認できます。私はBashで常に使用しています。rvm listZSHで実行すると、興味深いことにこれが表示されます。

rvm rubies

   ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]

これは私のiMacとMacBook Proの両方で起こっています。両方でOS X 10.6.6、iMacでZSH 4.3.9(ラップトップでは4.3.10)を使用しています。Oh-my-zshのような素晴らしいものはまだありません。

RVMのWebサイトにあるドキュメントを見てみましたが、何の助けにもなりませんでした。

回答:


275

〜/ .zshrcにこの行がありますか?

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

2
あはは、その単純なことをすっかり忘れていました。今、私は頑固さにすぐに来ないのでイライラしています。ありがとうございました :)。
スウィリアムズ2011年

6
どういたしまして。それはいつか起こります:)私の古い設定を維持するために私がした便利なことの1つ:私の〜/ .zshrcの "source〜/ .profile"と "source〜/ .bash_profile"。また、.zshrcを少しクリーンにします。
IntelliDiot

3
oh-my-zshを使用してzshをカスタマイズすると、既存のシェルから取得した.zshrcへの一連のパスが追加されました-これには、bashの下でrvmによって追加されたパスが含まれていました。
ルークチャドウィック、

1
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm".zloginに線があるので、これを理解するために何年も費やしましたが、Macで新しいターミナルウィンドウを開くときに使用していなかったと思います(10.7.3、ああ、私のzsh)。それを.zshrcに追加することも私にとってはうまくいきましたが、このstackoverflowコメントによれば、.zshrcはこれを置くのに間違った場所ですか?
ワッフル

5
また、$ HOME / .rvm / binへのパスが/ usr / binの前にあることを確認してください。そうでない場合は、OS Xに付属のRuby実行可能ファイルを呼び出す可能性があります。ZSHで「where ruby​​」と入力すると、優先順位を確認できます。
生鮮デーブ

22

2014年3月の注:

最新のRVMでは、次の行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

はもう必要ありません。また、に含めることはできません~/.zshrc

ZVMを使用したRVMドキュメントでドキュメントが更新されました。

iTerm2の環境設定で、ログインシェルオプションが設定されていることを確認します(コマンドオプションは使用しないでください)。これはRVMが機能するために必要です。

それでもiTermでrvmが機能エラーにならない場合は、以下を試してください。

rvm get stable --auto-dotfiles

少なくとも私のArch Linuxのインストールでは、xtermはログインシェルを使用していないため、そのコマンドを実行しても、rvmが正しく設定されていないようです。
ioquatix 14

5

注記2014年11月

RVMのインストール手順では、PATHを設定するときに.zshrcに$ PATHが含まれていないため、PATHに既に存在するものに関係なくPATHの内容が置き換えられることを警告しています。

この問題を解決私は今追加持つようにPATHを.rvm/bin当時と前に付加 $PATH設定の初めにPATH二行目:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

export PATH=$PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin"

1

私は同じ問題を抱えていました、「Ruby on Rails」のインストール後にこれを使用して解決しました:

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc

そして

source ~/.zshrc

0

私はzshを使用しており、[[-s "$ HOME / .rvm / scripts / rvm"]] &&がありました。.zshrcファイルの「$ HOME / .rvm / scripts / rvm」に解析エラーが発生しました:404。

その行を.profileファイルに移動すると、エラーが停止しました。それは私の.zshrcファイルの何かと競合していたようで、おそらくそれを.profileで実行すると.zshrcファイルの非互換性が回避されました。私はできませんでした

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.