前回の記事を書くときに、最新版のReact Nativeでも動作検証しておこうと、0.55.3をインストールしました。
ブログを書き終え、さて仕事するぞ、と既存のプロジェクトで$ react-native run-android
すると…
Could not find react-native.jar (com.facebook.react:react-native:0.55.3).
Searched in the following locations:
https://jcenter.bintray.com/com/facebook/react/react-native/0.55.3/react-native-0.55.3.jar
なんとbuildできなくなってしまいました。
build.gradle
でcom.facebook.react:react-native:+
と指定されている箇所で、先程インストールした最新版を参照しようとしているようでした。
しかし、既存プロジェクトのnode_modules
には当然最新版のjarはないため、ビルドが失敗するということのようです。
npmやRNのキャッシュクリアでは解消せず。
+
指定をやめてバージョン固定にする方法は、node_modules配下も変更する必要があるので避けたいところ。
あーでもないこーでもないと対応しているうちに、ふと「Gradleのキャッシュか?」と思い至りました。
$ rm -r ~/.gradle/caches/modules-2/metadata-2.16/descriptors/com.facebook.react/react-native/0.55.3/
$ rm -r ~/.gradle/caches/modules-2/files-2.1/com.facebook.react/react-native/0.55.3/
これで解消しました。
今回のはReact Native云々ではなく、僕がAndroidを知らないせいで起こった問題だな、と反省しました。