如何在使用gradle-node-plugin或通过node配置强制设置"--max-old-space-size"?

9
我正在使用https://github.com/srs/gradle-node-plugin作为构建过程中启动NPM任务的工具。但是,webpack现在已经用尽了堆空间,报告错误信息:FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
我无法找到任何方法来直接告诉NpmTask将--max-old-space-size标志传递给node(将其放置在NpmTask args属性的任何位置都会将该标志作为参数传递给npm脚本,它会忽略它或者传递给webpack,但webpack不知道这个参数)。
我发现了这个github问题:https://github.com/srs/gradle-node-plugin/issues/141,但它似乎只涉及NodeTask,而不是NpmTask。看着它,我认为需要像NodeTask一样扩展NpmTask,增加一个额外的options属性。
是否有一种全局配置“node.js”的方式,可以强制node使用更多的堆空间,直到我找到如何让NpmTask做我想要的事情?

我注意到有几个人点赞了这个问题。我从来没有弄清楚如何配置问题中的设置;但我的问题实际上是一些糟糕的代码/webpack配置(现在无法确切记起)导致webpack或typescript失控并耗尽所有可用堆空间。 - Shorn
1个回答

3

运行Gradle时提供NODE_OPTIONS环境变量:

NODE_OPTIONS="--max-old-space-size=1024" ./gradlew myNpmTask

1
有没有可能在不使用环境变量的情况下将NODE_OPTIONS传递给Gradle(例如在gradle.properties或build.gradle.kts中)? - AlexO

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