3

このガイドからRuby 1.9.3p125をインストールしました(ポイント#5まで):リンク

今、私はこの問題を抱えています:私のスクリプトは私のコマンドラインからは素晴らしく動作しますが、Cronから実行すると、デフォルトの環境を使用しているようで、私の代わりに/usr/bin/rubyにデフォルト設定されます(~/.rvm/rubies/ruby) -1.9.3-p125/bin/ruby)。手動または cron を介してコマンドを実行し、同じ結果を生成する最良の方法は何ですか?

PS: たとえば ~/.bash_login の処理を​​スキップしているようです。ここでは、rvm が PATH にロードされます。

4

3 に答える 3

2

crontab 行で、スクリプトを実行する前に .bash_login を入手できます。

source ~/.bash_login && <your original command here>

そうすれば、スクリプトを実行すると、スクリプトにすべてが含まれます。

于 2012-07-13T07:40:37.437 に答える
0

The usual way recommended to do this would be to put the full path to the executable in your crontab. E.g.

crontab should show:

/Users/Poochie/.rvm/rubies/ruby-1.9.3-p125/bin/ruby /full/path/to/script.rb

or whatever the full path is. It's much more robust than trying to get rvm loading, as here an rvm script is modifying your path for you. If you want to set it to whichever is the rvm default ruby (e.g. whatever was set by rvm use x.x.x --default), You can use: /Users/Poochie/.rvm/bin/ruby as the executable instead, e.g.:

/Users/Poochie/.rvm/bin/ruby /full/path/to/script.rb

于 2012-07-13T05:27:38.430 に答える
0

私は実際にこの投稿を見つけました。これは私を大いに助けてくれました: LINK

思い通りにスクリプトを実行することができましたが、理論的にはまだ質問が未解決です。これは、問題が一般的な cron の使用に影響を与える可能性があるためです。

于 2012-07-14T00:35:27.067 に答える