
Symfonyで tailwind:build が失敗?原因と解決策を解説
SymfonyでTailwind CSSを導入する際、便利なバンドルとしてsymfonycasts/tailwind-bundleを利用することができます。このバンドルを使うことで、Tailwind CSSを簡単にビルドし、Symfonyのアセット管理と統合できます。
しかし、ある日 tailwind:build コマンドを実行すると、突然エラーが発生しました。本記事では、発生した問題の原因と解決方法について解説します。
SymfonyでTailwind CSSを導入する方法
SymfonyにTailwind CSSを導入する方法はいくつかありますが、最も簡単なのは symfonycasts/tailwind-bundle を使う方法です。
|
|
これにより、SymfonyのバンドルとしてTailwindを組み込むことができます。バンドルを利用すると、以下のように tailwind:build コマンドでCSSをビルドできます。
|
|
tailwind:build のエラー発生
実際に tailwind:build を実行したところ、以下のエラーが発生しました。
|
|
エラーの原因は tailwind-bundle のバージョンとTailwind CLIの仕様変更
調査した結果、エラーの原因は symfonycasts/tailwind-bundle の バージョンが古かったこと にありました。使用していたバージョンは 0.6.1 であり、これを 0.7.1 にアップデートすることで問題が解決しました。
Tailwind 4系のCLIが使用されていた
もう少し詳しく説明すると、tailwind:build コマンドを実行する際、バンドルは var/tailwind 配下に Tailwind CSS の Standalone CLI をダウンロードする仕様になっています。
しかし、symfonycasts/tailwind-bundle の 0.6.1 までは、使用するTailwind CLIのバージョンを指定できなかったため、 最新のCLI(4系)が自動的にダウンロードされてしまう問題 がありました。
この結果、Tailwind v4系のCLIが使われてしまい、ビルドが失敗するという状況に陥りました。
binary_version の設定で解決
この問題に対応するため、symfonycasts/tailwind-bundle の 0.7.0 から 使用するTailwind CLIのバージョンを binary_version で指定できる機能 が追加されました。
さらに 0.7.1 では、デフォルトの binary_version が v3.4.17 に固定され、バンドルをアップデートするだけで Tailwind 3系を利用できるようになりました。
このため3系のcliがダウンロードできるようにエラーが回避できたというわけです。
解決方法:バージョンをアップデートする
この問題を解決するためには、symfonycasts/tailwind-bundle を最新版にアップデートするだけでOKです。
|
|
また、Symfonyアプリケーションで config/packages/tailwind.yaml に binary_version を指定することで、使用するTailwind CLIのバージョンを明示的に指定できます。
|
|
まとめ
- SymfonyでTailwind CSSを使うには symfonycasts/tailwind-bundle が便利
- しかし、バージョン 0.6.1 以前ではTailwind CLIのバージョン指定ができず、 最新の4系が勝手にダウンロードされる問題 が発生
- 0.7.1 にアップデートすることでデフォルトで v3.4.17 が使われるようになり、問題解決
- SymfonyでTailwind CSSを使う際は、 バンドルのアップデート情報を定期的にチェック することが大切
SymfonyとTailwind CSSを組み合わせて使う方は、ぜひバージョン管理に注意してください。