Next.js应用启动报错:WebAssembly内存分配不足求助
解决Next.js
npm run dev时WebAssembly内存不足的问题 针对你遇到的WebAssembly.instantiate(): Out of memory错误,可按以下步骤排查解决:
检查服务器内存状态
执行free -h查看当前内存使用情况,确认是否物理内存被占满。如果可用内存不足,先关闭其他非必要进程释放资源,或考虑升级服务器内存配置。调整Node.js内存分配上限
修改package.json中的dev命令,增加Node.js的内存分配参数:"scripts": { "dev": "NODE_OPTIONS=--max-old-space-size=4096 next dev" }其中
4096代表分配4GB内存,可根据服务器实际可用内存调整(比如2GB内存可设为2048)。禁用Edge Runtime相关Wasm组件(临时方案)
在项目根目录的next.config.js中添加配置,强制使用Node.js Runtime并禁用llhttp的Wasm实现:/** @type {import('next').NextConfig} */ const nextConfig = { experimental: { edgeRuntime: 'nodejs', llhttp: false, }, } module.exports = nextConfig注意:此方案可能影响Edge Runtime相关功能,后续可在Next.js版本更新后尝试移除该配置。
升级Next.js到最新稳定版
该问题可能是特定版本的bug,执行以下命令升级:npm install next@latest升级完成后重新运行
npm run dev。清理依赖缓存
若依赖包或缓存损坏导致异常内存占用,执行以下操作重置依赖:rm -rf node_modules package-lock.json npm cache clean --force npm install重新启动开发服务器验证。
内容的提问来源于stack exchange,提问作者Ehtesham ali
相关产品推荐
相关产品推荐

