npm打包的时候报FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed – JavaScript heap out of memory

原创 野人  2021-08-14 09:01  阅读 207 次

起因

主要是自己电脑打包太慢了,于是就想用服务器的打包来看下,上次有折腾过,也是提示了很多错误,到现在还记忆深刻啊,第一个问题也是这个内存不足的提示,第二个问题是包不兼容的原因(这个排查了好久,因为都是同份代码,咋到了服务器就不行了,于是通过不断的降级包版本解决了),所以接下来就给大家分享下这个内部不足的解决方案。

解决方案

其实,网上一搜确实一大把方案,但是实际自己测试后,发现并没有什么软用,最后的解决方案就是一个个的尝试过去呗。

1、先交代下node,npm,系统的版本背景,有时候因为版本的不同,导致解决方案没什么软用,遇到过好几次。

node:v10.21.0

npm:7.5.3

系统:CentOS Linux release 7.8.2003 (Core)

2、找到项目根目录下package.json文件,并打开,找到【scripts】运行的脚本字段,然后按需更改,比如我的是打包脚本出了内存不足的提示,那我就更改下打包的那段代码就可以了,如下。

原代码

//...其他省略了
"scripts": {
    "start": "node scripts/start.js",
    "build": "node scripts/build.js",//打包的脚本代码
    "test": "node scripts/test.js"
}

修改后的代码

//...其他省略了
"scripts": {
    "start": "node scripts/start.js",
    "build": "node --max_old_space_size=4096 scripts/build.js",//打包的脚本代码
    "test": "node scripts/test.js"
}

注意:主要是加了这段代码, --max_old_space_size=4096,其中的4096是分配的内存大小,这个大小具体要看自己电脑/服务器的配置情况进行调整,改完就ojbk了。

本文地址:https://www.yerenwz.com/4490.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论