0

バックグラウンド

OS: Ubuntu 12.04
RVM バージョン: 1.18.16 (安定版) デフォルトの ruby​​: ruby​​ 1.9.3-p385 (rvm 経由)

RVM が動作しており、.rvmrc が信頼されていることの確認

$ bash -lc 'cd /home/client1/websites/site1; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

$ bash -lc 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02

$ bash -lc 'rvm rvmrc trusted /home/client1/websites/site2/.rvmrc'
The rvmrc at '/home/client1/websites/site2/.rvmrc' is currently trusted.

望ましい効果

$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02

現在の効果

$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

試したこと

配置: [[ -s /usr/local/rvm/scripts/rvm ]] && . /usr/local/rvm/scripts/rvm 次のファイル内:

  • ~/.bashrc,
  • ~/.profile,
  • 〜/.bash_profile、
  • /etc/bash.bashrc

問題が発生する前に、ファイルの一番上で問題ありません。

補足: .ruby-version メソッドも使用してみましたが、どちらも機能していないようです (irc の mpapis に感謝します)。

4

1 に答える 1

1

一般に、bashは、さまざまなプロファイル/rcファイルを処理するために特定の方法で呼び出す必要があります。代わりにbashを実行してみてくださいbash -L -c "your command here"。これにより、ログインモードがアクティブになり、必要なすべてのスタートアップファイルが適切に解析されます。

編集:ログインシェルが必要ない場合は、インタラクティブモードで自動的にソースを取得する必要があります~/.bashrc。これは-c、通常のインタラクティブコンソールがインスタンス化されないためです。これはで行うことができますbash -i -c "command"

于 2013-03-06T23:03:53.617 に答える