React Native が動かない、戦犯はwatchmanのバージョンアップ

半年ぶりにReactNativeを触ることとなった。js界隈は動きが速いので半年経つと結構変わってる。各パッケージのバージョンアップされているので、いろいろバージョンして取り掛かろう。node.js、npm、yarn、watchman,react-nativeをバージョンアップした。

とりあえずiOSのシュミレーターで確認

$ react-native run-ios

Metro Bundler

  • ずっと下記のままで、いっこうにMetro Bundlerからダウンロードされる気配がない。androidでも同じ

Loading dependency graph, done. BUNDLE [ios, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 0.0% (0/1)

いつものキャッシュ削除を試す

$ rm -rf node_modules && \
  yarn install && \
  watchman watch-del-all && \
  rm -fr $TMPDIR/metro-cache* && \
  rm -fr $TMPDIR/haste-map-metro* && \
  rm -rf ios/build && \
  rm -rf ios/Pods && \

  • 参考サイト

キャッシュ削除がおわらない

# これが永遠におわらない
$ watchman watch-del-all

watchman watch-del-allが終わらない意味がわからない

watchmanのバージョンアップが問題?

  • なんどもインストールしたり、削除したりを繰り返しても解決しない

その他に考えられること

  • Xcodeのパス? Xcodeのバージョン?
  • 何かのバージョンアップがよくなかった。node? react-native?
  • バージョンアップ

やっぱコマンドが完了しないwatchmanが悪さをしてる

  • 解決してくれたサイト

やっぱコマンドが完了しないwatchmanが悪さをしてる

/usr/local/var/run/watchman/にあうるユーザー名-stateフォルダを削除すると動くらいい

ls -la /usr/local/var/run/watchman/
total 0
drwxrwxrwx  4 hoge-user  wheel  128  6  5 11:34 .
drwxrwxr-x  3 hoge-user  wheel   96 11 22  2018 ..
-rw-r--r--  1 hoge-user  wheel    0  6  5 09:48 .not-empty
drwx------  6 hoge-user  wheel  192  6  5 15:33 hoge-user-state

もういちど起動してみる

$ react-native run-ios

Metro Bundlerからダウンロードされた

Loading dependency graph, done.
 BUNDLE  [ios, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.0% (570/570), done.