0%

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++**的搜索功能,可以批量替换,请自行搜索。