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

报错信息如标题所示

经过原因分析,其实是执行 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

这样就可以恢复原样了。

你可能感兴趣的:(npm,前端,javascript,内存溢出,vue)