配置为本地工作者做出反应

时间:2018-01-31 17:14:02

标签: android reactjs react-native android-gradle

我正在尝试在circle ci上运行一个本机android构建 这些是package.json

中的反应版本

"反应":" ^ 16.2.0",  " react-native":" 0.50.0",

我正在设置这些环境变量: _JAVA_OPTIONS: "-Xmx2000m" JVM_OPTS: "-Xmx2000m -XX:ParallelGCThreads=1 -XX:ConcGCThreads=1 -Djava.util.concurrent.ForkJoinPool.common.parallelism=1" GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2000m"' REACT_NATIVE_MAX_WORKERS: 1 NODE_ENV: "production"

然而,似乎反应仍然是捆绑器中的许多工作者并且节点因代码137而失败,通常是内存不足。

我设法让它运转的方式就是设定 nodeExecutableAndArgs: ["node", "--max-old-space-size=200","--max_old_space_size=200"],但似乎只有在构建失败一次后我再次在docker容器上再次运行它。

是否有其他配置限制反应捆绑工人?我觉得将内存设置为200米并不是最好的选择。

ps tree

1 个答案:

答案 0 :(得分:0)

我成功了,这是我的配置:

config.yml中的环境变量

environment:
_JAVA_OPTIONS: "-Xmx1600m -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:ParallelGCThreads=1 -XX:ConcGCThreads=1 -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -Dkotlin.compiler.execution.strategy=in-process"
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx1600m"'
REACT_NATIVE_MAX_WORKERS: 1
NODE_ENV: "production"
NODE_OPTIONS: "--max-old-space-size=500 --max_old_space_size=500"

以及我认为已解决的问题:

app/build.gradle
....
project.ext.react = [
    extraPackagerArgs: ["--max-workers=1"]
]
apply from: "../../node_modules/react-native/react.gradle"
...