👻
ReactNative0.66のbuildエラー(Facebook社不具合)
2022年11月4日より、ReactNativeに不具合が発生し、Facebook社よりパッチが配布されています。
使用バージョン
react-native 0.66
※使用モジュールの都合上アップデートせず。
事象
いつも通り
npx react-native run-android
でビルドを行ったところ、
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings
73 actionable tasks: 2 executed, 71 up-to-date
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':react-native-community_audio-toolkit:generateDebugRFile'.
> Could not resolve all files for configuration ':react-native-community_audio-toolkit:debugCompileClasspath'.
> Failed to transform react-native-0.71.0-rc.0-debug.aar (com.facebook.react:react-native:0.71.0-rc.0) to match attributes {artifactType=android-symbol-with-package-name, com.android.build.api.attributes.BuildTypeAttr=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-api}.
> Execution failed for JetifyTransform: C:\Users\utokf\.gradle\caches\modules-2\files-2.1\com.facebook.react\react-native\0.71.0-rc.0\7a7f5a0af6ebd8eb94f7e5f7495e9d9684b4f543\react-native-0.71.0-rc.0-debug.aar.
> Java heap space
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
とか言われてエラー。
前回からなんも変えてないんですけど!!!!!怒
エラー文にあるreact-native-community_audio-toolkitを一度npm uninstallしても、別のモジュールで同じエラー。
node_modulesを一度消して、npm installしなおしてもだめ。
cacheを消してもだめ。
数時間格闘後。。。
解決策
Twitterを調べると、なにやらReactNativeに不具合があったという情報を入手。下記がFacebookからのリリース。
事情までちゃんと読んでいないが、
0.63以降のバージョンで修正パッチが配布されていた。
私の場合は、0.66を使用しているので、0.66.5という修正パッチを使えばいいらしい。
そこで、
package.jsonにて
"react-native": "0.66",
↓
"react-native": "0.66.5",
に変更。
一応、一度node_modulesを消して、再度npm install。
改めて、
npx react-native run-android
をすると、無事成功。
めでたしめでたし。
Discussion