Tailwind CSS エラー「Error: PostCSS plugin postcss-nested requires PostCSS 8.」が発生した場合

Tailwind CSS使用時に、エラー「Error: PostCSS plugin postcss-nested requires PostCSS 8.」が発生した場合の原因と対処法を記述してます。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- Tailwind 2.0.4
エラー全文
railsのwebpack使用時に発生
ERROR in ./app/javascript/css/application.css (./node_modules/css-loader/dist/cjs.js??ref--5-1!./node_modules/postcss-loader/src??ref--5-2!./app/javascript/cs
s/application.css)
Module build failed (from ./node_modules/postcss-loader/src/index.js):
Error: PostCSS plugin postcss-nested requires PostCSS 8.
Migration guide for end-users:
https://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users
at Processor.normalize (/home/users/railsapp/node_modules/postcss/lib/processor.js:167:15)
at new Processor (/home/users/railsapp/node_modules/postcss/lib/processor.js:56:25)
at postcss (/home/users/railsapp/node_modules/postcss/lib/postcss.js:55:10)
at /home/users/railsapp/node_modules/tailwindcss/lib/util/parseObjectStyles.js:24:33
at arrayMap (/home/users/railsapp/node_modules/lodash/lodash.js:653:23)
at map (/home/users/railsapp/node_modules/lodash/lodash.js:9622:14)
at Function.flatMap (/home/users/railsapp/node_modules/lodash/lodash.js:9325:26)
at parseObjectStyles (/home/users/railsapp/node_modules/tailwindcss/lib/util/parseObjectStyles.js:23:26)
at parseObjectStyles (/home/users/railsapp/node_modules/tailwindcss/lib/util/parseObjectStyles.js:20:12)
at /home/users/railsapp/node_modules/tailwindcss/lib/util/processPlugins.js:37:123
at arrayMap (/home/users/railsapp/node_modules/lodash/lodash.js:653:23)
at map (/home/users/railsapp/node_modules/lodash/lodash.js:9622:14)
at Function.flatMap (/home/users/railsapp/node_modules/lodash/lodash.js:9325:26)
at parseStyles (/home/users/railsapp/node_modules/tailwindcss/lib/util/processPlugins.js:37:26)
at addComponents (/home/users/railsapp/node_modules/tailwindcss/lib/util/processPlugins.js:131:18)
at /home/users/railsapp/node_modules/tailwindcss/lib/plugins/container.js:101:5
at /home/users/railsapp/node_modules/tailwindcss/lib/util/processPlugins.js:69:5
at Array.forEach (<anonymous>)
at _default (/home/users/railsapp/node_modules/tailwindcss/lib/util/processPlugins.js:63:11)
at /home/users/railsapp/node_modules/tailwindcss/lib/processTailwindFeatures.js:64:54
at LazyResult.run (/home/users/railsapp/node_modules/postcss/lib/lazy-result.js:288:14)
at LazyResult.asyncTick (/home/users/railsapp/node_modules/postcss/lib/lazy-result.js:212:26)
at LazyResult.asyncTick (/home/users/railsapp/node_modules/postcss/lib/lazy-result.js:225:14)
at LazyResult.asyncTick (/home/users/railsapp/node_modules/postcss/lib/lazy-result.js:225:14)
at /home/users/railsapp/node_modules/postcss/lib/lazy-result.js:217:17
@ ./app/javascript/css/application.css 2:26-171
@ ./app/javascript/packs/application.js
原因
「Tailwind 2」は「PostCSS 8」が必要なため
対処法
「PostCSS 7」と互換性のある「Tailwind」を使用する。
まずは、アンイストールします。
npm uninstall tailwindcss
or
yarn remove tailwindcss
互換性のあるものをインストールします。
yarn add tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9
これで「tailwind」がwebpackでビルドできるようになりました。
-
前の記事
rails6 エラー「Encoding::CompatibilityError」が発生 2021.03.23
-
次の記事
rails6 部分共通テンプレートを作成する 2021.03.23
コメントを書く