0

cron で rake タスクを実行できません。それがスローするエラーは次のとおりです。

/Library/Ruby/Gems/1.8/gems/bundler-1.2.0/lib/bundler/runtime.rb:199: 警告: パス内の安全でない世界書き込み可能ディレクトリ /Library/Ruby/Gems/1.8、モード 040777
/Library/Ruby /Gems/1.8/gems/bundler-1.2.0/lib/bundler/spec_set.rb:90:in `materialize': どのソースにも unf_ext-0.0.5 が見つかりませんでした (Bundler::GemNotFound)

ただし、端末から直接同じ rake タスクを実行すると、正常に動作します。cron ジョブの場合、および端末から直接 rake タスクを実行しているときに、(正確に) 同じディレクトリに cd します。Railsサーバーの起動も同様に機能します。

何が問題で、どうすれば解決できますか?

4

1 に答える 1

0

直接実行している場合、デーモンユーザーとユーザーに問題がある可能性があります。または、Ruby や cron ファイル コマンドに問題がある可能性があります。

まず、rake タスクで cron ジョブを作成するためにこの gem を使用します: https://github.com/javan/whenever

OSX が提供する標準の ruby​​ ライブラリを使用しているため、さまざまなプロジェクトを開発しているときに問題が発生する可能性があるため、RVM をインストールします。これにより、表示された権限エラーが修正されます。

于 2012-09-10T05:27:07.473 に答える