2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails】本番環境で適用されたりされなかったりする CSS を解明してみよう

2
Last updated at Posted at 2026-02-11

こんにちは、初心者アプリクリエイターことめたっぴa.k.a.天使の涙です。
英語にすると 
ビギナーアプリケーションクリエイターことめたっぴa.k.a.ティアーオブエンジェルです

(?)

今回、面白い不具合が発生しました。
【ローカル環境】
スクリーンショット 2026-02-10 16.37.19.png

【本番環境】
スクリーンショット 2026-02-10 17.10.57.png

あれ?CSSがところどころ適用されてないぞ?
ということで状況から整理します。

【簡単な仕様】
Rails 7.2
Tailwind CSS 2.7

【状況】
アプリのデプロイをする前に、以下のUIの変更を行いました。

1:左側の球を大きくしたい(ついで中の文字も)
2:ゲーム(ダークソウルとか星のカービィとか書いてるとこ)を
プレイヤー画像があるあたりまで伸ばして欲しい

その時に、いくらローカル環境で左側の球を大きくしようとしても全く反映されなかったのが
まさかのデプロイ後の環境で適用され、(1の件)
反対に
2の部分に関してはデプロイ先では反映されず
ローカルで反映されている

そこから考えられる仮説

1:古いCSSのキャッシュ(ジオンの亡霊)に取り憑かれている
2:package.jsonが見つからない(探し物は何ですか 見つけにくいものですか)
3:変更ファイルをそもそも保存してない(初歩的すぎて泣く)

解決方法

とりあえずやったこと。

# キャッシュをクリア
docker compose exec web rm -rf tmp/cache
docker compose exec web rm -rf public/assets

# CSSを再ビルド
docker compose exec web yarn build:css

# コンテナを再起動
docker compose restart web

それでも直らない時は

# Dockerボリュームもクリア
docker compose down -v
docker compose up --build

# CSSをビルド
docker compose exec web yarn build:css

それでもダメな時。

# コンテナ内を確認
docker compose exec web ls -la

# package.jsonがあるか確認
docker compose exec web cat package.json

# なければDockerfileを確認

そして最後に add commit pushをする
→Renderで自動デプロイ

治った!

スクリーンショット 2026-02-11 14.04.24.png
色々あって左側の球自体消しました。(情報が被っているため)
でもこれでしっかりローカル、本番環境でも適用されました。

自動でビルドしてくれる方法もあるよん

開発時にめっちゃ便利です。

ターミナル1: Railsサーバー
bashdocker compose up
ターミナル2: CSSウォッチャー(別ターミナル)
bash# CSSの変更を監視して自動ビルド
docker compose exec web yarn build:css --watch

これで、CSSを編集するたびに自動的にビルドされます!✨

🔄 おまけ CSSビルドの流れ(Docker環境)

【ホスト】CSS記述するとこ
app/assets/stylesheets/application.tailwind.css を編集
  ↓
【Dockerコンテナ内】
yarn build:css を実行
  ↓
Tailwindが処理
  ↓
app/assets/builds/application.css を生成
  ↓
【Volumeマウント経由でホストにも反映】
  ↓
【ブラウザ】
新しいCSSが読み込まれる ✅

🔄 おまけ2 ローカル環境と本番環境の違い(Render)

項目 ローカル(Docker) 本番(Render.com)
実行タイミング 開発中に必要なとき git push
実行主体 あなた(手動) Render(自動)
トリガー docker compose exec web yarn build:css git push origin main
CSSビルド 手動で yarn build:css Dockerfile内で自動実行
実行コマンド yarn build:css yarn install
yarn build:css
yarn build
Assets処理 必要に応じて手動 bundle exec rake assets:precompile 自動
生成ファイル app/assets/builds/application.css 同じく自動生成
Git管理 commit不要(.gitignore) 不要(ビルド時生成)
目的 画面確認・開発用 デプロイ用ビルド
ミスが起きるポイント build忘れ → CSS反映されない Dockerfile設定ミス
2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?