私はコマンドラインの専門家ではないので、自分が何をしているのかほとんどわからないということから始めます。
RVMとoh-my-zshでNiceを一緒にプレイすることはできません。私はいくつかの異なる解決策を試しましたが、いくつかは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"
Zshが/usr/local/rvm
を返さないため、Pathディレクティブにzsh: rvm command not found
を追加しました。それ以外の場合、次のエラーをスローするrvm use
を除いて、ほとんどのrvmコマンドが機能します。
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.
RVMの推奨に従って、iTerm2のプロファイルのプロファイル設定が「ログインシェル」に設定されていることを確認しました
これらの設定を「コマンド」オプションに変更し、推奨される/bin/bash/ --login
をコマンドとして使用しようとしましたが、これが発生するとzshが機能しなくなったようです。コマンドを/bin/zsh/ --login
に変更すると、zshは再び機能しますが、rvm use
を実行しようとすると、「RVMは機能ではありません」というエラーが発生するため、問題は解決しません。
RVMのデフォルトのRubyは2.0.0に設定されています。ホームフォルダでRuby -v
を実行すると、Rubyバージョンの出力が表示されます。デフォルトバージョン。
Railsプロジェクトで作業している場合、GemfileがデフォルトのRails 2.0.0)を指定していれば、すべてのRubyコマンドを実行できます。ただし、異なるバージョンを使用するプロジェクトでは、次のエラーが発生します。
Your Ruby version is 2.0.0, but your Gemfile specified 1.9.3
次に、上記のエラーが返されるため、rvm use 1.9.3
を実行できません。
私のセットアップに関するいくつかの情報:
RVMが間違った場所にインストールされていることが判明しました。最初にRVMをインストールしたときは、Sudo
コマンドを使用してインストールしたと思います。このコマンドは、シングルユーザー(/usr/local/rvm
にある必要があります)ではなく、マルチユーザーインストール(~/.rvm/scrips/rvm
にインストール)を実行しました。投稿されたソリューションは私にとってはうまくいきませんでした。
rvm implode
を使用してRVMをアンインストールする必要がありました。いくつかの権限の問題があったので、手動でアクセスして、削除できなかったファイルを削除する必要がありました。 curlコマンドを実行してRVMを再インストールすると、正しい場所にインストールされます。
.zshrc
で[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
を使用してRVMを調達することが正しく機能するようになり、ルビーを切り替えることができます。
私にとっては、追加する必要がありました
source $HOME/.rvm/scripts/rvm
私の〜/ .zshrcに、このSOの質問と同じエラーメッセージが表示された後、動作を開始しました。
@trustkrの答えは私のために働いたが、追加したい...
Rvmのインストール直後にこの問題が発生しました。のために
source
〜/ .zshrcファイルで作業するには、新しいターミナルセッションを開始し、そこで作業する必要がありますOR実行できます
source ~/.rvm/scripts/rvm
インストールしたのと同じターミナルセッションで。
[Mac OS 10.10.5-iTerm-zsh]
同じ問題が.zshrcファイルの最後にこの1行追加されました
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
そして今、すべてが私のubuntu16.04オペレーティングシステムで正常に動作します:)
以下を実行する必要があります。
$ソース〜/ .rvm/scripts/rvm
次にこれを実行します
$タイプrvm |頭-n1
結果は次のようになります
rvmは、/ home/Sun/.rvm/scripts/cliのシェル関数です。
お役に立てば幸いです。
別の解決策:
1)ターミナルで実行:
which rvm
私の場合の出力は---> / usr/share/rvm
2).zshrcファイルを開きます
nano ~/.zshrc
add "source +the_path_to_your_rvm+ / scripts/rvm"、私の場合は:
source /usr/share/rvm/scripts/rvm
3)ファイル(.zshrc)を保存します
4)ターミナルを閉じて、もう一度開きます