Next.js9 + Tailwindcss2.0環境で Error: true is not a PostCSS plugin エラーが発生

公開日時

Next.jsアプリで使っていたTailwind CSSを1.5から2.0にアップデートした。

Next.js v9 and older don't support PostCSS 8 yet so you need to install the Tailwind CSS v2.0 PostCSS 7 compatibility build for now as we've shown above.

今回使っていたNext.jsのバージョンが9.4.4だったので公式ドキュメントを参考にPostCSS 7でアップデートを実施。

yarn remove tailwindcss postcss autoprefixer
yarn add tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

その後ローカル環境を立ち上げようとしたところ、下記のエラーが発生して起動できなくなってしまった。

Error: true is not a PostCSS plugin

package.jsonに記載していたpostcss関連のライブラリのバージョンも上げてみたがエラーは変わらず。

個別のライブラリのアップデートを試していくのは時間がかかりそうだったのと、シンプルなアプリだったのでnpm-check-updatesを使ってpackage.jsonに記載の全ライブラリのバージョンを一括で上げることにした。

ncu -u
yarn

これで、Next.jsバージョンが最新(10)まで上がり、PostCSSも8が使えるようになったのでエラーが解消した。

小規模アプリでない場合は影響範囲が大きすぎるので、↓のようにしてNext.jsとTailwindのみアップデートするのがよさそう。

yarn next@latest tailwindcss@latest postcss@latest autoprefixer@latest

参考


Related #next.js

SharedArrayBuffer updates in Android Chrome 88 and Desktop Chrome 92

クロスオリジン分離対応を実施

react-hook-formとReact Datepickerを組み合わせる

Hook FormのControllerを使う

Next.jsで生成したサイトで特定のページのみnoindexを設定する

タグに紐づく記事一覧ページはnoindexにした

Next.jsでAdsenseタグを埋め込んだら Only one AdSense head tag supported per page エラーが発生

Only one AdSense head tag supported per page. The second tag is ignored.