npm运行出现堆内存溢出问题

npm运行出现堆内存溢出问题

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528165824866.png
当npm run dev的时候出现上述问题,这里提示javascript堆内存溢出。

问题原因

CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory JavaScript堆内存不足。查阅网上资料后,这里说的 JavaScript 其实就是 Node。
JavaScript 是一款拥有「自动垃圾回收」功能的编程语言。V8 作为一个 JavaScript 引擎,最初服务于 Google Chrome 浏览器的。它随着 Chrome 的第一版发布而发布以及开源。现在它除了 Chrome 浏览器,已经有很多其他的使用者了。诸如 NodeJS、MongoDB、CouchDB 等。在 Node 中通过 JavaScript 使用内存时只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB)。如果项目十分庞大,超出了V8对于Node默认的内存最大限制,就会出现此问题。

解决方案一

1.打开一个cmd窗口
2. setx NODE_OPTIONS --max_old_space_size=8192(这个操作设置用户变量)
3.关闭所有cmd /代码编辑器
4. 重新打开cmd并再次运行npm命令

知识点:
SETX命令:Window XP 以上的系统都自带了该命令(如果没有,下载一个Setx.exe),这种方式为永久设定环境变量。
设置用户环境变量 setx path “%JAVA_HOME%\bin”
设置系统环境变量 setx path “%JAVA_HOME%\bin” /m

使用时,应该注意:
1.setx设置环境变量后,将在新打开的终端中生效,当前终端不会立即生效。
2.setx在设置变量的长度超过1024,会截取多出的字符。
3.setx还可以操作远程计算机,具体参数设置百度一下setx用法。
4.setx在设置某一变量的值,如果已经存在该变量会覆盖之前的值。所以正确方式是:要保存值=获取当前该变量的值+新值。

解决方案二

1.打开你的工程中的package.json文件
2.找到
“scripts":{
“build”:“node build/build.js”
}
3.在build中加入–max_old_space_size=8192
即:
“scripts":{
“build”:“node --max_old_space_size=8192 build/build.js”
}

以上参考:《深入浅出Node.js》

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值