首页 > 解决方案 > webpack 在编译时内存不足

问题描述

嗨,我尝试使用 webpack 和以下命令编译我的 react-js 应用程序:

“node_modules/.bin/cross-env NODE_ENV=生产 webpack -p --config webpack.config.js”

所以它试图缩小节点模块的东西。

我收到了这个错误:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

有没有办法分配更多的内存?我有 32GB 应该不是问题

谢谢

标签: node.jsreactjswebpack

解决方案


您的v8系统设置了堆限制,您可以使用repl中的v8.getHeapStatisticsnode发现。

最有可能您正在超越heap_limit_size为进程增加允许的内存的一种方法是--max_old_space_size在调用它时将额外的 V8 标志附加到您的节点,以便它将标志向下传递给 V8 并增加内存分配池的大小。该值应以兆字节为单位。

可以这样:

node_modules/.bin/cross-env NODE_ENV=production node --max_old_space_size=8096 node_modules/.bin/webpack -p --config webpack.config.js

您可以在本地开发环境中使用更高的内存值进行试验,但始终仔细检查该值对生产环境的可能影响,您可以在单独的npm脚本中配置单独的内存值。


推荐阅读