Webpack 内存溢出

21

当我使用webpack-dev server时,有时会出现问题。

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

更多内容在此处

配置webpack.config.js

"webpack": "^4.5.0",
"webpack-cli": "^2.0.14",
"webpack-dev-server": "^3.1.3",

NodeJS版本:

node -v
v9.3.0

操作系统版本:

macOS High Sierra 10.13.6

有人遇到类似的问题吗?


我也遇到了同样的问题。目前只有很少的信息,这可能是Webpack或npm包中的内存泄漏问题。我在从3.x升级到Webpack 4.16后出现了这种行为。如果我找到任何信息,我会告诉你。 - Odyssee
5个回答

13
node --max-old-space-size=8192 node_modules/webpack-dev-server/bin/webpack-dev-server.js

运行上述命令,而不是运行npm start


8

提高您的节点进程内存限制。使用命令行标志--max-old-space-size=2048(2GB,默认为512 MB,我认为),或通过环境变量NODE_OPTS设置。 https://nodejs.org/api/cli.html


4
请注意实际链接为:https://nodejs.org/api/cli.html#node_optionsoptions。`NODE_OPTIONS=--max-old-space-size=2048`类似这样的内容。 - jnelson

5
您可能可以尝试以下方法。此问题是由postcss-loader中的内存泄漏引起的。下面的一行代码已经对一些人起作用了。
rm -rf [package-lock.json] node_modules && npm cache clean -f && npm i

更多信息请参见:https://github.com/webpack/webpack/issues/6929


6
这个表述比较模糊,哪个版本的postcss-loader存在内存泄漏问题?因为一个模块出了问题就重新安装所有模块并不是一个好的解决方法。 - mikemaccana
@mikemaccana 这个问题已经存在了将近3年,我记不清具体细节了,但是在浪费了数小时寻找确切问题后,上面的那行代码自动地解决了它。 - Odyssee
1
当然可以,但这就像重新安装操作系统或购买新笔记本电脑一样——它可能会解决问题,但并不是一个很好的答案。 - mikemaccana

4

我尝试了上面建议使用webpack-dev-server的解决方案,但它似乎卡住了(?)或者可能是在运行服务器。查看我的webpack脚本(版本4.43.0), 我改用了如下方式:

node --max-old-space-size=8192 node_modules/webpack/bin/webpack.js

这在本地和我的Jenkins文件中都有效。运行此命令替代 "webpack"。


0

虽然此链接可能回答了问题,但最好在这里包括回答的关键部分,并提供链接作为参考。仅有链接的答案如果链接页面发生变化,将会失效。 - patrickmdnet
是的,我同意,但是这个链接提供的信息不多。我只能自己添加更多内容。 - Danyil Suhak
@patrickmdnet 谢谢你的建议。我对回答方面没有太多经验,所以如果还有其他问题让你感到不舒服,请继续发帖。 - Danyil Suhak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接