LoginSignup
4
1

More than 3 years have passed since last update.

本番環境でのエラー(The asset "〜" is not present in the asset pipeline.)

Last updated at Posted at 2021-01-09

はじめに

オリジナルアプリをデプロイする際にエラーが発生したので、今後同じエラーが発生した際に簡単に解決できるように載せておこうと思う。

1.エラー内容

公開したアプリケーションを確認したところ、以下のエラー画面が出た。
この画面からではエラーの原因がはっきりしないので、

スクリーンショット 2021-01-08 21.52.12.png
上の画面からではエラーの原因がはっきりしないので、ターミナルでエラーログを確認する。

ターミナル
heroku logs --tail --app hoge-app-0123

すると下記の部分に不具合があるのを確認できた。
スクリーンショット 2021-01-08 21.46.25.png

調べたこと

エラーログをグーグル翻訳すると『アセット「icon_noimage」はアセットパイプラインに存在しません。』と翻訳された。

アセットパイプラインが不明だったため、ネット検索
→複数のディレクトリやファイルに分かれたassetsディレクトリ内のファイルをひとつに連結・圧縮する機能と出た。
 →icon_noimageは存在しないから連結されないということ??? んー、分からん…

さらに解決策を調べる…

エラー解決へ

config/envitonments/production.rb の config.assets.compileをfalseからtrueに変更することで解決することが出来た。
本番環境でレイアウトが崩れた際に用いるらしい。

config/envitonments/production.rb
config.assets.compile = true

最後に

ローカル環境では問題なくても、本番環境では問題が発生する可能性があるため、こまめにデプロイしろと前々から言われていたが、その意味を実感した。
また、今回のエラーでシステムの用語の知識不足も実感することができたので、今後も学んでいきたい。

参考記事

TRANSNET コラム『Rails初学者がつまずきやすい「アセットパイプライン」』
https://www.transnet.ne.jp/2016/02/28/rails%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%8C%E3%81%A4%E3%81%BE%E3%81%9A%E3%81%8Dcolnr%E3%80%8C%E3%82%A2%E3%82%BB%E3%83%83%E3%83%88%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3/

4
1
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
4
1