6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

非力なサーバーでRailsのasset:precompileがCompiling...でフリーズする

Posted at

概要

表題の通りですが、アセットパイプラインとwebpackを併用したアプリのbundle exec assets:precompileを開発用の非力な仮想サーバーでするとCompiling...で固まってしまいます。

解決策

Compiling...はwebpackのコンパイルをしているようです。最初時間がかかってSSHがタイムアウトしてるだけかと思ってタイムアウトしないようにしてみてしばらく放置してみたらCompilation failed!と悲しいメッセージが。

不思議なのはbin/webpackでコンパイルすると1,2分で終わります。そこで、assets:precompile時にwebpackをやらないようにしてbin/webpackを別途呼んでみるようにしたら失敗しなくなりました。

WEBPACKER_PRECOMPILE=false bundle exec rails assets:precompile
bin/webpack

WEBPACKER_PRECOMPILE=falseの環境変数でwebpackをしなくなります。根本的な解決ではないし、なんか気持ち悪いですが困ってる方いらっしゃましたら試してみてください。

想像ですが1プロセス内でアセットパイプラインのプリコンパイルとwebpackが走るとメモリが足りなくなるとかですかね?rails6で作ったアプリはwebpack一本になるのでこう言う心配はなくなるのかな?上記の対象アプリも6にアップグレードはしましたが、歴史的経緯でアセットパイプラインとwebpackが併用になっています。

6
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?