5

を実行するbundle exec rake assets:precompile --traceと、プリコンパイルが失敗しますが、具体的な理由がわかりません。

出力については、このペーストビンを参照してください: http://pastebin.com/zggZyPyM

4

3 に答える 3

13

アセットのプリコンパイルには大量のメモリが必要です。~=私の場合は400MB。メモリの過剰使用により、OS がプロセスを強制終了している可能性があります。syslog をチェックして、そうであるかどうかを確認できます。

この状況を回避するために、サーバーのメモリを増やすことができます。それが不可能な場合は、ローカル システムでアセットをプリコンパイルし、リポジトリにコミットして、サーバーにデプロイすることをお勧めします。そうすれば、サーバー上でアセットをコンパイルする必要がなくなります。ただし、以前に生成されたアセットを何らかの方法で削除し、プロセスを自動化する方法を検討することもできます。

于 2012-06-28T22:42:18.357 に答える
0

この問題は、node.js JS ランタイムを使用してアセットをプリコンパイルすることでも解決できます。これは明らかにメモリ フットプリントが少ないためです。Ubunutu 14.04 の場合、 を実行apt-get install nodejsし、デフォルトの js ランタイムを に置き換えて実行し、Gemfile最後にプリコンパイルを再実行する必要がありました。css または js の変更後にこれを忘れてエラーが発生する可能性があるため、別の場所でプリコンパイルしないように注意してください。gem 'node'bundle

于 2015-02-20T22:32:16.077 に答える