RVM + Zsh 「RVM は関数ではないので、'rvm use ...' でルビーを選択しても機能しません」質問する

RVM + Zsh 「RVM は関数ではないので、'rvm use ...' でルビーを選択しても機能しません」質問する

まず最初に言っておきますが、私はコマンドラインの専門家ではないので、自分が何をしているのかほとんど分かっていません。

RVM と oh-my-zsh をうまく連携させることができません。SO に投稿されているものも含め、さまざまな解決策を試しましたが、どれも問題を解決してくれません。

最初は、誰かが私のマシンに RVM をセットアップしました。その後、私は自分で oh-my-zsh をセットアップしましたが、これにはかなり苦労したのを覚えています。

私の.zhsrcファイルは、これらの2行を除いて完全にデフォルトです

export PATH=$HOME/bin:/usr/local/bin:/usr/local/rvm/bin:$PATH

#pretty sure this line does nothing, although I've seen this fix around
# several places. I noticed that I don't seem to have an .rvm file in my 
# home directory which would be an issue, but I have no idea how to 
# go about correcting this.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

/usr/local/rvmzsh はそこに がないと返さないので、 を Path ディレクティブに追加しましたzsh: rvm command not found。それ以外では、ほとんどの rvm コマンドは機能しますが、 はrvm use次のエラーをスローします。

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

iTerm2のプロファイル設定がRVMの推奨どおり「ログインシェル」に設定されていることを確認しました。

iTerm2 設定 - ログインシェル

これらの設定を「コマンド」オプションに変更し、推奨されている/bin/bash/ --loginコマンドを使用しようとしましたが、これが発生するとzshは機能しなくなりました。コマンドをに変更すると、/bin/zsh/ --loginzshは再び機能しますが、実行しようとすると「RVMは関数ではありません」というエラーが表示されるため、問題は解決しません。rvm use

RVM のデフォルトの ruby​​ は 2.0.0 に設定されています。ruby -vホーム フォルダーで実行すると、デフォルトのバージョンを示す ruby​​ バージョン出力を取得できます。

Rails プロジェクトで作業している場合、Gemfile でデフォルトの ruby​​ 2.0.0 が指定されていれば、すべての Rails コマンドを実行できます。ただし、異なるバージョンを使用するプロジェクトでは、次のエラーが発生します。

Your Ruby version is 2.0.0, but your Gemfile specified 1.9.3

rvm use 1.9.3上記のエラーが返されるため、実行できません。

zsh を RVM でうまく動作させるにはどうすればよいですか?

私のセットアップに関する情報:

  • Mac OSX 10.9.1 (マーベリックス)
  • iTerm2
  • Zsh 5.0.2 と oh-my-zsh
  • 1.5.1 の新機能

ベストアンサー1

私の場合は、

source $HOME/.rvm/scripts/rvm

~/.zshrc に追加したら、この SO の質問と同じエラー メッセージが表示された後、動作するようになりました。

おすすめ記事