12.04 LTSのImであり、Ruby開発のRailsに取り組んでいます。端末を起動してRuby -v
と入力すると、Rubyが1.8.7としてリストされます。 /bin/bash --login
と入力すると、Ruby -v
は2.0.0としてリストします。これは、Rails 4.0を実行するために必要なものです。問題は、端末を起動するたびに/bin/bash --login
と入力する必要があることです。端末を開いたときに/bin/bash
に自動的にログインできる方法はありますか?
ここで/ bin/bash --loginを再度実行する必要はありません。
私のために働く解決策は、.bashrc
ファイルに次の行を追加することです。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
技術的には、RVMは関数としてシェルセッションにロードされます。 Bashをシェルとして使用している場合、この統合は構成ファイル.bash_profile
によって行われます。ご存知かもしれませんが、シェルセッションにはさまざまな「タイプ」があります。つまり、loginシェル、interactiveシェルおよび非対話型シェル。 bashセッションがどれであるかに応じて、異なる構成ファイルが関係します。 RVMの統合を処理する.bash_profile
構成ファイルは、ログインシェルセッションに含まれていますが、「単なる」インタラクティブまたは非インタラクティブシェルセッションには含まれていません。詳細については、 RVMドキュメント を参照してください。
したがって、ターミナルを起動するときに、シェルセッションがログインシェルセッションとして開始されることを確認する必要があります。おそらく、このためのターミナルエミュレーターの設定があります。これまで使用したコマンド/bin/bash --login
を使用すると、シェルセッション内でシェルセッションを開始another以外は何もしませんが、これはログインシェル。
おそらく、RVMを介してインストールすることに加えて、パッケージマネージャー(apt-get
)によってRubyをインストールした可能性があります。したがって、RVMがシェルセッションに統合されていない場合、「システムRuby」が残ります。だからこそRuby 1.8.7に「フォールバック」するのです。