0
0

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.

EC2環境内でWebpackerが動作しない際の対応の記録[Rails][Unicorn]

Last updated at Posted at 2021-07-02

RailsアプリのEC2の本番環境において、Webpackerを動作させる際に出会った、エラー対応を記します。
Rack専用Webサーバーとして、Unicornを採用しています。

参考

結論

エラー内容

アプリ名/log/production.log
[56c395e9-87c3-4c60-b32d-6e407387d208] ActionController::RoutingError (No route matches [GET] "/packs/js/application-7b3203a2b398f48e7cc4.js"):
[56c395e9-87c3-4c60-b32d-6e407387d208

解決に至ったコード

:アプリ名/config/environments/production.rb
config.public_file_server.enabled = true

解決方法

解決方法は以下の流れになりました。

  1. 開発環境では正常に動作していることを確認
  2. .node_modlueを削除(別にしなくてもいいかも
  3. yarn(2をやった場合
  4. rails webpacker:compile RAILS_ENV=production(やっていなかったら
  5. ログを確認
  6. 対応

上記の5・6の流れに関しましてご説明させて頂きます。
自分の場合、同じくUnicornを用いた開発環境において、動作しないことを確認致しましたので、環境依存によることが原因であることが分かりました。
その後、webpackerを再起動させるために、2 ~4の作業を行いました。この部分は恐らく必要なかったかもしれません。

5. ログを確認

Unicornのログを確認します。私の場合は以下のデイレクトリで確認できます。

アプリ名/log/production.log
[56c395e9-87c3-4c60-b32d-6e407387d208] ActionController::RoutingError (No route matches [GET] "/packs/js/application-7b3203a2b398f48e7cc4.js"):
[56c395e9-87c3-4c60-b32d-6e407387d208

もしこのエラーと同様なエラーが表示される場合には、この後の対応策が活用できるかもしれません。

6. 対応

冒頭に記載しましたが、以下のコードをRailsの設定ファイルに記載致しました。

:アプリ名/config/environments/production.rb
config.public_file_server.enabled = true

これで動作を確認することが出来ました。

まとめ

今回得た学びは以下の通りです。

  1. まずはログをちゃんと確認すること。
  2. 開発環境で動作した場合は、環境依存を疑うこと。

以上です。直接的なエラーの原因などを記載せず申し訳ございませんが、解決にお力になれれば幸いです。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?