本番環境にアクセスしたらCSSがかかっていない。。。そんな時に解消した自分の解決法を備忘録に残します。画像の場所はapp/assets/imagesです
解決策1 CSSファイルの拡張子の後ろに.SCSSを付け足す
しかしこれでも解決しませんでした。人によってはこれだけいけたという人も聞きます。
解決策2 CSS.SCSSの表記を見直す
僕の場合、表記が
url(/assets/画像名);
だったのを
image-url("画像名");
に変更後
$ git pull origin master
で反映させる。しかしこれでも適用されず
解決策3 コンパイルし直す
https://qiita.com/yoheism42/items/dcf71691ca3e8dfc26c5
ここの記事を参考に
$ find app/assets/ -type f -exec touch {} \;
$ rake assets:clobber assets:precompile
$ RAILS_ENV=production rake assets:precompile
を試す。そうすると2行目のコマンドで
========================================
Your Yarn packages are out of date!
Please run `yarn install --check-files` to update.
========================================
こんなエラー。これに対しては
その後またさっきの3行のコマンドを初めから試す。そうすると今回は弾かれずにすんなりいった。
最後に
$ sudo systemctl start nginx
$ sudo systemctl reload nginx
の順に実行してエンジンエックス再起動
その後
$ ps aux | grep unicorn
$ kill 1376 ←unicorn masterの行の一番左端の数字
$ RAILS_SERVE_STATIC_FILES=1 unicorn_rails -c config/unicorn.rb -E production -D
これでなんとか画像を表示させることに成功しました。
長かった・・・