目录
- 前情提要
- 解决方案
- 1. cmd设置【结论:不得行】
- 2. npm cache verify 清除缓存【结论:不得行】
- 3. 删除node_modules,再重新npm i安装【结论:不得行】
- 4. 安装cross-env和increase-memory-limit【结论:不得行】
- 5. 在scipts的dev指令的值前,添加npx --max_old_space_size=4096【结论:不得行】
- 6. 修改node_modules中的vue-cli-service.cmd【结论:√】
前情提要
随着项目越来越庞大,在前端项目运行过程中,时常出现如下报错,随后服务中断。
npm run dev时 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
解决方案
前前后后尝试了以下几种方案,最后一种生效了,之后没有再中断过。
1. cmd设置【结论:不得行】
cmd设置setx NODE_OPTIONS --max_old_space_size=10240
,据说此方案还需要关掉所有命令工具。
2. npm cache verify 清除缓存【结论:不得行】
3. 删除node_modules,再重新npm i安装【结论:不得行】
4. 安装cross-env和increase-memory-limit【结论:不得行】
安装cross-env和increase-memory-limit,scripts中添加指令:"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
,再执行npm run fix-memory-limit
5. 在scipts的dev指令的值前,添加npx --max_old_space_size=4096【结论:不得行】
6. 修改node_modules中的vue-cli-service.cmd【结论:√】
在node_modules/.bin/vue-cli-service.cmd
中添加--max_old_space_size=4096
,添加之后是:
"%_prog%" --max_old_space_size=4096 "%dp0%\..\@vue\cli-service\bin\vue-cli-service.js" %*