部署Next.js应用时遭遇#fillNegs语法错误求助
解决Next.js + Tailwind构建时#fillNegs语法错误问题
问题根源
报错中的#fillNegs()是ES2022私有类方法语法,你的Node.js 12.22.0不支持该语法。这个方法来自Tailwind依赖的minimatch包新版本,该版本使用了Node.js 12不兼容的语法,导致构建失败。
解决方法
方法一:升级Node.js版本(推荐)
- Node.js 12已停止维护,且原生不支持私有类方法语法,直接升级到14.6.0及以上的LTS版本(如14.x、16.x),从根本上解决兼容性问题。
- 升级后执行以下命令重置依赖:
rm -rf node_modules package-lock.json npm install
方法二:锁定minimatch兼容版本
如果暂时无法升级Node.js,通过锁定minimatch到兼容Node.js 12的3.x版本来解决:
针对npm用户
- 安装强制分辨率工具:
npm install --save-dev npm-force-resolutions - 在
package.json中添加配置:"scripts": { "preinstall": "npx npm-force-resolutions" }, "resolutions": { "minimatch": "^3.1.2" } - 重置依赖:
rm -rf node_modules package-lock.json npm install
针对yarn用户
- 在
package.json中添加配置:"resolutions": { "minimatch": "^3.1.2" } - 重置依赖:
rm -rf node_modules yarn.lock yarn install
方法三:降级Tailwind CSS版本(备选)
可以尝试降级Tailwind CSS到某个旧版本,确保其依赖的minimatch版本兼容Node.js 12,但此方法可能导致功能缺失,仅作为临时备选。
内容的提问来源于stack exchange,提问作者suvansh agarwal
相关产品推荐
相关产品推荐

