JavaScript Heap Out of Memory之解决办法
问题描述
使用npm run dev
的时候报如下错误:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
在package.json中配置如下:
“scripts”: {
“dev”: “vue-cli-service serve”,
“build:prod”: “vue-cli-service build”,
…..
两种情况,vue-cli2和vue-cli3:
1. 如果是使用的vue-cli2,那么解决办法如下:
npm run dev 和 npm run build 直接在前面加上–max_old_space_size=4096
npm run dev 和 npm run build 直接在前面加上–max_old_space_size=4096
参考地址:https://blog.csdn.net/win7583362/article/details/86305780参考地址:https://blog.csdn.net/win7583362/article/details/86305780
2. 如果是使用的vue-cli3,以上方法亲自无效,解决办法如下:
安装两个npm包 :
npm i -g increase-memory-limit
npm i -g cross-env npm i -g cross-env
安装完成后,先执行一次 npm run fix-memory-limit
,然后npm run dev
即可。
启动之前先检查下配置是否有fix-memory-limit
scripts”: {
“serve”: “vue-cli-service serve”,
“build”: “vue-cli-service build”,
“fix-memory-limit”: “cross-env LIMIT=4096 increase-memory-limit”,
},
操作完以上步骤之后,可能会报错 “node –max-old-space-size=4096不是内部或外部命令``”
该问题的解决办法:
- 在项目的
node_modules.bin
下面找到所有的*.cmd
文件, - 在ENDLOCAL语句的上边一行,修改
"%_prog%"
改为%_prog%,
去掉双引号。
搜索之后可能有80多个文件,可以采用nodepad++的搜索功能,可以批量替换,请自行搜索。