如何修复VS Code中出现的RangeError: Array buffer allocation failed错误?
修复VS Code终端中Webpack的Array buffer allocation failed错误
连续数日遇到问题:在VS Code中开始工作后,终端服务突然停止运行,错误栈如下:
RangeError: Array buffer allocation failed at new ArrayBuffer (<anonymous>) at new Uint8Array (<anonymous>) at new FastBuffer (node:internal/buffer:959:5) at createUnsafeBuffer (node:internal/buffer:1062:12) at Function.allocUnsafeSlow (node:buffer:385:10) at read (C:\Users\USER\Desktop\food-delivery\node_modules\webpack\lib\serialization\FileMiddleware.js:597:32) at C:\Users\USER\Desktop\food-delivery\node_modules\webpack\lib\serialization\FileMiddleware.js:657:7 at C:\Users\USER\Desktop\food-delivery\node_modules\graceful-fs\graceful-fs.js:362:16 at FSReqCallback.oncomplete (node:fs:188:23)
以下是可行的修复方案:
清理Webpack缓存
Webpack缓存文件损坏或体积过载可能引发内存分配异常,执行命令清理:npx webpack --clean也可以手动删除项目根目录下的
node_modules/.cache/webpack文件夹。升级Node.js版本
低版本Node.js在大内存分配场景下存在已知bug,建议升级到LTS稳定版(如18.x或20.x)。先通过node -v查看当前版本,再下载对应版本覆盖安装。调整Node.js内存限制
给Node.js分配更多内存空间,启动Webpack时添加内存参数:node --max-old-space-size=4096 node_modules/webpack/bin/webpack.js若使用npm脚本,修改package.json中的对应命令:
"scripts": { "build": "node --max-old-space-size=4096 node_modules/webpack/bin/webpack.js" }更新Webpack及相关依赖
旧版本Webpack的FileMiddleware模块可能存在内存泄漏问题,执行命令更新依赖:npm update webpack graceful-fs也可以直接修改package.json里的版本号后执行
npm install完成更新。排查项目中的超大文件
若项目内存在几GB级别的日志、未压缩资源等超大文件,Webpack读取时会触发内存分配失败,找到这类文件并移除或压缩处理。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

