在打包一个比较大的项目时出现了这样一个报错
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
原因是系统分配给node的运行内存不足了,因此,需要加大node的内存;操作如下:
全局安装increase-memory-limit
npm install increase-memory-limit -g
在package.json中,scriptes下面添加一条新的命令iml,如果项目没有安装cross-env,需要手动安装一下
// 未安装cross-env
npm install cross-env -D
// scripts
// 这里的 6000 可以根据实际情况调整大小,这是分配给node的运行内存大小,单位是M
"iml": "cross-env LIMIT=6000 increase-memory-limit"
以上操作完成,执行npm run iml
npm run iml
然后关闭项目,关闭命令行窗口,重新打开项目运行,然后进行打包。
如果还是不行!
找到项目根目录下的node_modules文件下的.bin文件夹,搜索.bin中的全部文件,搜索 “%_prog%” ,然后替换成 %_prog%
// 搜索
"%_prog%"
// 替换成
%_prog%
替换完成操作,重新启动项目,重新运行打包