React应用运行异常:Array buffer allocation failed错误求助
错误详情
node:internal/buffer:961
super(bufferOrLength, byteOffset, length);
^RangeError: Array buffer allocation failed
at new ArrayBuffer ()
at new Uint8Array ()
at new FastBuffer (node:internal/buffer:961:5)
at createUnsafeBuffer (node:internal/buffer:1064:12)
at Function.allocUnsafeSlow (node:buffer:397:10)
at read (C:\Users\nenab\Desktop\json\react project\Archi\midou\frontend\node_modules\webpack\lib\serialization\FileMiddleware.js:597:32)
at C:\Users\nenab\Desktop\json\react project\Archi\midou\frontend\node_modules\webpack\lib\serialization\FileMiddleware.js:657:7
at C:\Users\nenab\Desktop\json\react project\Archi\midou\frontend\node_modules\graceful-fs\graceful-fs.js:362:16
at FSReqCallback.oncomplete (node:fs:198:23)Node.js v18.15.0
解决步骤
清理Webpack缓存
删除项目内的node_modules/.cache目录,或直接删除dist文件夹后重新构建。也可运行命令:npx webpack --clean提升Node.js内存限制
修改package.json中的启动脚本,增加内存参数(数值可根据自身电脑内存调整,示例为4GB):"scripts": { "start": "node --max-old-space-size=4096 node_modules/react-scripts/scripts/start.js" }修改完成后重新执行
npm start。重装依赖并更新版本
删除旧依赖文件后重新安装:rm -rf node_modules package-lock.json npm install同时可尝试更新Webpack和react-scripts到兼容版本:
npm update webpack react-scripts排查超大文件
检查项目中是否存在GB级大文件(如未压缩视频、日志文件)被误加入打包流程,在Webpack配置中用exclude排除这类文件,或加入.gitignore避免被处理。切换Node版本
尝试升级到Node 18最新稳定版,或降级到Node 16 LTS版本,用nvm管理版本的命令:nvm install 16 nvm use 16
内容的提问来源于stack exchange,提问作者midou boumaza

