2

このプロジェクトに取り組んでいます: https://github.com/cucumber/bool

さまざまな項目を作成するための makefile があり、RVM を使用して ruby​​ ディレクトリ内のものの ruby​​ を切り替えることができるようにしたいのですが、makefile コマンドを使用して ruby​​ を切り替えると、厄介なエラーが発生します。

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

もちろん、rvm use 1.9.3コマンド ラインで発行すると問題なく動作するため、これは別の症状ですが、何が原因かはわかりません。

4

2 に答える 2

4

cron (または Makefile だと思います) から RVM を呼び出す場合、適切な環境をセットアップすることが重要です。Scout チームには、これを説明するすばらしいブログ記事があります。

http://blog.scoutapp.com/articles/2010/09/07/rvm-and-cron-in-production

重要な部分は、RVM にアクセスできるように完全なログイン シェルがあることを確認することです。

/bin/bash -l -c 'the_command_inside_makefile"
于 2013-02-03T18:44:17.573 に答える
0

これは、通常のインタラクティブな RVM セットアップを使用せずに、指定された RVM ruby​​ インスタンスをその環境にロードするシェル スクリプトを生成できるRVM ラッパー スクリプトの良い使い方のようです。

例えば:

rvm wrapper 1.9.3@bool ruby bool

... 指定された Ruby が選択された「bool」という名前のラップされたスクリプトを作成します。

于 2013-02-03T18:36:31.100 に答える