执行npm start报tailwindcss需PostCSS 8错误,多次尝试无法解决求方案
解决方案
- 优先处理
react-scripts@4.x内置PostCSS版本冲突问题:react-scripts 4.x默认内置了PostCSS 7.x版本,即便你在项目根目录安装了PostCSS 8,运行时也会优先调用内置的旧版本,你可以二选一处理:- 升级
react-scripts到5.x版本,该版本默认内置PostCSS 8,完全适配当前Tailwind版本 - 若不想升级
react-scripts,在craco.config.js中添加配置强制使用项目根目录安装的PostCSS版本,同时配置PostCSS插件:
module.exports = { style: { postcss: { plugins: [ require('tailwindcss'), require('autoprefixer'), ], }, }, } - 升级
- 删掉多余的预编译脚本:你当前
package.json里的prestart、prebuild钩子会提前单独编译Tailwind,和craco的内置PostCSS编译逻辑冲突,先注释掉这两个钩子配置再启动测试 - 强制锁定PostCSS版本:在
package.json中添加overrides字段,强制所有依赖都使用你安装的PostCSS 8版本,避免嵌套依赖带的旧版本冲突:
添加后删除"overrides": { "postcss": "^8.3.11" }node_modules和锁文件,重新执行npm install即可 - 若以上方案都无效,可直接升级到Tailwind CSS v3版本,该版本对PostCSS 8的适配性更强,且不需要额外兼容包,适配CRA的逻辑更简单
内容的提问来源于stack exchange,提问作者Chi
相关产品推荐
相关产品推荐

