まず最初に言っておきますが、私はコマンドラインの専門家ではないので、自分が何をしているのかほとんど分かっていません。
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/rvm
zsh はそこに がないと返さないので、 を 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の推奨どおり「ログインシェル」に設定されていることを確認しました。
これらの設定を「コマンド」オプションに変更し、推奨されている/bin/bash/ --login
コマンドを使用しようとしましたが、これが発生するとzshは機能しなくなりました。コマンドをに変更すると、/bin/zsh/ --login
zshは再び機能しますが、実行しようとすると「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 の質問と同じエラー メッセージが表示された後、動作するようになりました。