首页 前端知识 ERROR: MarkCompactCollector: young object promotion failed Allocation failed (npm run dev内存溢出)

ERROR: MarkCompactCollector: young object promotion failed Allocation failed (npm run dev内存溢出)

2024-05-27 09:05:10 前端知识 前端哥 973 734 我要收藏

报错信息如标题所示

经过原因分析,其实是执行 npm run dev 时候,项目太大了,导致node内存溢出。

解决思路是扩大node内存

但是百度了很多结果,都不生效。最终折腾一下午,终于修好了。把步骤记录如下:

解决方案

这个解决方案分为必做和选做

[选做] 更换node 版本到更低的版本

[必做] 全局安装两个插件

npm install -g increase-memory-limit cross-env

[选做] package.json里面dependencies添加依赖:

  "dependencies": {
    "increase-memory-limit": "^1.0.6",
    }

[必做] package.json里面添加如下两个参数:

"scripts": {
    "build": "node --max_old_space_size=4096 build/build.js",
    "fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
  },

(最最核心的一步)[必做] 在项目根目录执行:

export NODE_OPTIONS=--max_old_space_size=4096
set NODE_OPTIONS=--max_old_space_size=4096 
cross-env NODE_OPTIONS=--max_old_space_size=8096

非常重要,参考资料:https://www.cnblogs.com/IwishIcould/p/17019276.html

  • linux & mac下面
    export NODE_OPTIONS=–max_old_space_size=8096

  • windows 下面 [window推荐使用这个] 你直接在命令行窗口CMD 中输入如下命令就ok了。
    set NODE_OPTIONS=–max_old_space_size=8096

如果项目被你搞坏了的解决方案:

依次执行如下命令清除缓存:

rm -rf node_modules
npm cache clear --force
npm install

这样就可以恢复原样了。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/9656.html
标签
内存溢出
评论
会员中心 联系我 留言建议 回顶部
复制成功!