React Native Invariant Violationがでた時の対処方法
Published on June 09, 2020
最近のReact Nativeは基本的にはautolink機能によって、packageをインストールしてpod install
すればライブラリは自動的にlinkされて使用できるはずです。
しかし、新たにライブラリを登録した際に、Invariant Violation: Native module cannot be null.
というエラー画面が出ることがあります。
解消方法をざっと書いていきます。上から順に試していく感じです。

pod install
たまにある、packageの追加だけ実施してPodの更新を忘れるパターン。
terminal
$ npx pod-install
pod install --repo-update
これもたまにある、Podの更新が必要なパターン。
terminal
$ cd ios && pod install --repo-update
Podfile.lock & Podsフォルダ削除後にpod install
上記でも解決しない時に実施する、Pod関連をクリーンにする方法
terminal
$ cd ios
$ rm -rf Pods
$ rm Podfile.lock
$ pod install
node_modulesフォルダ&yarn.lockの削除
それでも解決しないときに、packageを消してクリーンな環境からビルドする方法
terminal
$ rm -rf node_modules
$ rm yarn.lock
$ yarn install
$ cd ios
$ rm -rf Pods
$ rm Podfile.lock
$ npx pod-install
$ npx react-native run-ios
npmの場合は、yarn.lock
の代わりにpackage-lock.json
を削除しましょう。
iOS Simulatorのアプリを削除してからビルド
上記のどれをやっても解決しない時に・・・・
意外な盲点で、iOS Simulatorにインストールしたアプリを一度削除しないとエラーが消えないケースがあります。
私はこれで1日潰れた・・・。
一度SimulatorのHome画面からアプリを削除して、ビルドしてみましょう。
If you like it, share it!