我正在尝试在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米并不是最好的选择。
答案 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"
...