React Nativeの最新版をインストールしたら、既存のプロジェクトがrun-androidできなくなった

前回の記事を書くときに、最新版の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.gradlecom.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を知らないせいで起こった問題だな、と反省しました。

TimeCrowdに戻る