在build.gradle上启用Hermes时,为什么bundleReleaseJsAndAssets失败?

问题描述

我刚刚克隆了此存储库,并且出现此错误

当我尝试运行./gradlew installreleasenpx react-native run-android --variant=release时,由于 Hermes 而出现此错误。是的,我在build.gradle上启用了爱马仕。它可以在没有爱马仕的情况下工作。

> Task :app:bundleReleaseJsAndAssets
warning: the transform cache was reset.
Loading dependency graph,done.
...
info Done writing sourcemap output
info Done writing bundle output
info copying 13 asset files
info Done copying assets

> Task :app:bundleReleaseJsAndAssets Failed

FAILURE: Build Failed with an exception.

* What went wrong:
Execution Failed for task ':app:bundleReleaseJsAndAssets'.
> A problem occurred starting process 'command '../../node_modules/hermes-engine/osx-bin/hermes''

我正在使用macos。

我运行了yarn add hermes-engine以确保该节点模块存在。我发现了很多github问题,但他们主要是在谈论Windows。

解决方法

只需检查您是否正在使用Windows,并且您的PC仅使用了一年,那么您就必须卸载Visual c ++ 2019可再发行组件,安装visual c ++ 2015可再发行组件。

如果您有linux,则不需要额外的资源。

我认为此问题正在发生,因为您可能已完成2-3次构建。 因此,我的建议是执行cd android&gradlew clean&gradlew assembleRelease。

,

您可以检查您的本机版本吗?爱马仕仅适用于本机> = 0.60.4。还有一些模块,例如react-native-firebase(如果您在项目中使用),仍然与Hermes不兼容。此外,如果您正在构建应用捆绑包而不是apk,那么请确保react-native版本应为0.62或更高。