Next.js开发环境正常生产构建报错Cannot read property 'hash' of null
该错误为Next.js默认启用Webpack 5进行生产构建时的已知兼容问题,可通过以下方案逐一尝试解决:
- 方案1:调整Webpack快照配置
在项目根目录的next.config.js中添加如下配置,禁用冲突的快照特性:
module.exports = { webpack: (config) => { config.snapshot = { ...(config.snapshot ?? {}), managedPaths: [] } return config } }
- 方案2:临时降级使用Webpack 4
如果调整快照配置后问题仍存在,可在next.config.js中关闭Webpack 5,降级使用Webpack 4完成构建:
module.exports = { webpack5: false }
- 方案3:升级Next.js到最新稳定版
该问题已在后续版本的Next.js中被官方修复,可直接升级Next.js版本解决,执行对应包管理工具的升级命令即可:- npm:
npm install next@latest - yarn:
yarn add next@latest - pnpm:
pnpm add next@latest
- npm:
- 配置或版本调整完成后,先删除项目根目录下的
.next缓存文件夹,再执行next build命令进行生产构建,避免旧缓存干扰导致报错复现。
内容的提问来源于stack exchange,提问作者bogdanoff
相关产品推荐
相关产品推荐

