TakayukiKoyama Geek Blog

Create, Entertain, Experience

ReactNative の react-native run-ios 等で Failed to load bundle にハマるときの対策

目的

 開発期間が空くと忘れるので、メモ。

参考

Clearing the Cache of your React Native Project · GitHub

RN < 0.50 - watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache clean && npm install && npm start -- --reset-cache
RN >= 0.50 -  watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* && rm -rf $TMPDIR/metro-bundler-cache-* && rm -rf node_modules/ && npm cache clean && npm install && npm start -- --reset-cache

npm >= 5 - watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache verify && npm install && npm start -- --reset-cache

Windows - del %appdata%\Temp\react-native-* & cd android & gradlew clean & cd .. & del node_modules/ & npm cache clean --force & npm install & npm start -- --reset-cache

 上記の方法で大体解決するが、プログラムを直したり上記の対応しても何も変わらない場合がある。そのときは、8081ポート上に古いプロセスが動きっぱなしの可能性があるので、以下の方法で8081ポートが何をしているか確認する。

$ lsof -i:8081

 プロセスは以下の方法で終了できる。

$ sudo kill -9 <プロセスID>

 あとはプログラムを直して、 $ react-native run-ios すればエラーは直ると思う。