0

Ruby Version Manager (RVM) をインストールしたところ正常に動作していますが、/.bash_profile および ~/.bashrc ファイルに次の行を追加するように求められました。

if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi

コンテンツを見ると、次のように表示されます。

tammam56$ cat /.bash_profile
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi

tammam56$ cat ~/.bashrc 
export PATH=/usr/local/bin:$PATH
export MANPATH=/usr/local/man:$MANPATH
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi

ただし、新しいターミナルウィンドウを起動してもコマンドが実行されません。デフォルトのRubyバージョンを1.9に設定しているため、これを知っています。行を手動で実行すると、正しいバージョンになります。

tammam56$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
Macintosh-37:~ tammam56$ if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi
Macintosh-37:~ tammam56$ ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.2.0]

どうすればそれを修正できますか?

ありがとう、

タム

4

3 に答える 3

1

〜/ .profileがある場合は、それに次の行を追加してみてください。

if [[-s /Users/tammam56/.rvm/scripts/rvm]]; 次に、ソース/Users/tammam56/.rvm/scripts/rvm; fi

于 2010-02-22T06:26:48.413 に答える
1

.bashrc や .bash_profile の他のコマンドが適切に更新されることを確認しましたか?

次に、ターミナルがログイン シェルとしてシェルを起動しているかどうかを確認する必要があります ([設定] -> [スタートアップ] を参照)。

bash の man ページから:

bash が対話型ログイン シェルとして、または --login オプションを指定した非対話型シェルとして呼び出されると、最初にファイル /etc/profile からコマンドを読み取り、実行します (そのファイルが存在する場合)。そのファイルを読み取った後、~/.bash_profile、~/.bash_login、および ~/.profile をこの順序で検索し、最初に存在して読み取り可能なコマンドからコマンドを読み取って実行します。--noprofile オプションは、シェルの起動時にこの動作を禁止するために使用できます。

ログイン シェルではないインタラクティブ シェルが開始されると、bash は ~/.bashrc ファイルが存在する場合はそこからコマンドを読み取り、実行します。これは、 --norc オプションを使用することで抑制できます。--rcfile file オプションを指定すると、bash は ~/.bashrc ではなく、ファイルからコマンドを読み取って実行するようになります。

于 2010-02-22T06:03:21.343 に答える
0

この問題の最も簡単な解決策は、すべてのコンテンツを ~/.bashrc ファイル (したがって、 ~/.bashrc は空になりました) から新しい ~/.bash_profile ファイルに移動することであることがわかりました。すべての Terminal.app タブで、~/.bash_profile に含まれるすべての行が自動的に実行されるようになりました。これは iTerm にも当てはまります。

于 2010-11-12T04:58:31.187 に答える