Next.js新项目启动报错:Cannot find module '../lightningcss.win32-x64-msvc.node'
兄弟,我太懂你这种老项目好好的、新项目全掉坑的憋屈感了!你试了清缓存、重装依赖、装Windows redist、换Node版本这些常规操作都没用,Windows 11 64位系统还遇上这个Cannot find module '../lightningcss.win32-x64-msvc.node'错误,确实闹心。
结合你说的情况(老项目正常、新项目全挂),大概率是Next.js 15.3.1版本在Windows x64平台上的lightningcss预编译二进制包分发有问题,给你几个针对性的解决办法,你挨个试试:
彻底重装依赖,强制拉取对应平台包
- 先删掉项目根目录的
node_modules文件夹、package-lock.json文件 - 执行
npm cache clean --force清空npm全局缓存 - 最后运行
npm install --force,强制让npm重新拉取所有依赖,重点是针对Windows x64的lightningcss二进制包
- 先删掉项目根目录的
锁定兼容的Node LTS版本
虽然你换过Node版本,但建议用Windows版nvm切换到Node 20.17.0这个稳定LTS版本——有些较新的Node版本(比如22+)和Next.js 15.3.1的依赖兼容性可能有问题,老LTS版本反而更稳手动安装对应平台的lightningcss包
要是上面的方法还不行,试试直接安装Windows x64专属的lightningcss包:npm install lightningcss-win32-x64-msvc@latest安装完成后重启项目,看看Next.js能不能识别到这个二进制文件
临时禁用lightningcss(应急方案)
如果前面的方法都没效果,先让项目跑起来再说——在项目根目录的next.config.js里添加配置,禁用lightningcss:module.exports = { experimental: { lightningcss: false, }, };这样Next.js会 fallback 到传统的CSS处理逻辑,先解决“能不能跑”的问题,等官方修复这个依赖包的分发问题再改回来
老项目没问题是因为它们用的Next.js版本可能还没依赖这个特定的lightningcss二进制包,新项目默认用了最新的15.3.1,刚好踩中这个坑,别慌,按上面的方法一步步来应该能解决。
备注:内容来源于stack exchange,提问作者Ozan Tutkun

