現在、継続的インテグレーションのために Integrity を使用しています。CI サーバーは「整合性」gemset で実行されていますが、アプリケーション (およびそれは Rspec テスト スイート) が起動し、テストは「ポータル」などと呼ばれる別の gemset で実行されるように設計されています。
そこで、次のビルド スクリプトを使用します。
rvm use 1.9.2-p290@portal
bundle exec rake spec
私が得る出力は
RVM is not a function, blah-blah-blah
基本的に、ログインしていないシェルではrvmが供給されていないと言われています。大したことではありません。これを .bashrc に追加しましょう:
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
# First try to load from a user install
source "$HOME/.rvm/scripts/rvm"
これで、私が起動したどの端末でも、泣き叫ぶことなく rvm use コマンドを呼び出すことができるようになりました。しかし、整合性はそれを気にせず、まだ rvm は関数ではないと言っています。
Integrity がシステムコマンドを呼び出す方法を知っていれば地獄ですが、ここではアイデアがありません。
ご協力いただきありがとうございます!