私のマシン(Mac OSX 10.6.8を実行)にRVMが正しくインストールされており、正常に動作します。奇妙なことに、それを実行するには、新しいセッションごとにsource ~/.rvm/scripts/rvm
を使用する必要があります。そこから/opt/local/bin/rvm
へのシンボリックリンクを作ってみましたが、実行しても何も起こりません。また、~/.rvm/bin/rvm
から/opt/local/bin/rvm
へのシンボリックリンクを作成してみました。ターミナルでrvm
を実行すると、期待どおりにヘルプページが表示されます。しかし、rvm use some_Ruby_version
を試してみると、「RVMは機能ではないため、「rvm use ...」でルビーを選択しても機能しません。どうすれば修正できますか?
私の目標は、私がしないでくださいセッションごとにソースコマンドを入力する必要があり、何らかの理由で~/.profile
が実行されないようにすることです。
何がわかりませんでした~/.profile
は正しく動作します。変更する必要がありました~/.bash_profile
代わりに。問題が解決しました!
シェル環境に変更を加えるため、RVMスクリプトを現在のセッションに取り込む必要があります。子プロセスからRVMスクリプトを実行することは絶対に不可能です。 RVMを外部コマンドとして実行しようとしても成功しません。
これを実際に修正するには、2つの選択肢があります。
.profile
が読み込まれるように、非ログインシェルではなくログインシェルを起動するようにターミナルエミュレータを構成します。.bashrc
をソースRVMに変更します。これは、非ログインシェルでも機能します。2番目を行うには、~/.bashrc
に追加するだけです。
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
Bashの代わりにzshをシェルとして使用している場合は、次のことを行う必要があります。
1。
vi ~/.zshrc
2.マットが言ったように、追加:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
3. Terminallを再起動します。4.完了しました。
rvm use 1.9.3
ウィルワーク
さて、Mountain Lion(10.8.3)で私に有効だったのは/ etc/profileを編集することでした
前述の行をファイルの最後に追加します。
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
同じ問題がありました。 .profileファイルが更新されていないので、.bash_profileに追加したものと同じコマンドを追加しました。
[[-s "$ HOME/.rvm/scripts/rvm"]] &&ソース "$ HOME/.rvm/scripts/rvm"
これが正しい方法かどうかはわかりませんが、うまくいきました...
他の人が示唆するように、何も編集する必要はありません。端末の設定に移動して、「ログインシェルとしてコマンドを実行」を選択するだけです。これにより、.profileは次の端末インスタンスで実行されます。ターミナルを再度開くと、rvm use 1.9.3
(またはインストールしたバージョン)を使用できるはずです。
Rvm.ioで詳細情報が見つかりました(これも回答に最適な場所です)
いくつかの設定を行う必要があります。
端末を開いてこのコマンドを実行します。
source ~/.rvm/scripts/rvm
次にedit > Title and command
に移動し、Run command as login Shell
を確認します
これで完了です。これで、毎回ソースを指定する必要がなくなりました。
私を台無しにしていたのは、手動で実行できるパスを使用していたため、パスが正しいと想定していたことです。
どうやら、使用できる実行可能ファイルやスクリプトがいくつかあり、それぞれ別の場所にあります。
ミナが使うべき道はこれだと思いました:
/usr/local/rvm/bin/rvm
実際にはそれはこれでした:
/usr/local/rvm/scripts/rvm
Rootになったときにこの問題が発生しました。上記の解決策の多くを試しました。最終的に機能したのは、rootを終了して通常のユーザーになることでした。とにかくそれが必要でした。
これらの解決策はどれも、Ubuntu 12.04 LTSにあった私の問題を取り戻すようには見えませんでした。
私がしたことは次のとおりです:
rvm get stable --auto-dotfiles
RVMドキュメントで概説 ここsource ~/.profile
を追加しましたこれらの手順のすべてがRVMコマンドラインからのエラーとして文書化されたわけではありません。
RVMは機能ではないため、「rvm use ...」でルビーを選択しても機能しません。ログインシェルを許可するには、ターミナルエミュレータの設定を変更する必要があります。場合によっては、コマンドとして
/bin/bash --login
を使用する必要があります。例として https://rvm.io/integration/gnome-terminal/ にアクセスしてください。
そして
警告: '〜/ .profile'ファイルがあります。それをロードしたい場合は、次の行を '/home/user_name/.bash_profile'に追加してください:
ソース〜/ .profile