react-nativeの、バージョンアップの際に起こったエラー

xcodeで実行すると、

main.jsbundle does not exist

というビルドエラーが出る

xcodeにリンクしているmain.jsbundleを一度消して、再度xcodeにリンクしなおせばokだった。

(jsbundleがない場合、

[React Native]main.jsbundle does not exist - KOKENSHAの技術ブログ

の方法で再作成できそう)

 

 

 

npm startすると失敗する。

エラーは

internal/modules/cjs/loader.js:800
throw err;
^

Error: Cannot find module './bundle/unbundle'

が出ている。

(※この状態でxcodeから実行すると、

React Native version mismatch. エラーが出ていた。

android studioで起動すると、赤い画面のエラーが出ていた)

 

に回答があるように、2つのファイルから

require('./bundle/unbundle'),

を取り除けば大丈夫だった。(それで直るのか…という感じではあったが…)

 

 

 

xcodeで起動しようとするとビルドは成功するが、立ち上がるとすぐに

Exception '*** -[__NSArrayM objectAtIndexedSubscript:]: index 1 beyond bounds [0 .. 0]' was thrown while invoking getInitialURL on target LinkingManager with params (

というエラーでアプリがクラッシュする

0.59.9以降で直っている模様だが、それ以前のバージョンの場合、

以下の箇所をいじることでひとまず起動するようには出来た。

 

 

総じて、react-nativeは謎の依存関係問題?が多すぎてバージョンアップすると上記のようなよくわからないエラーがかなり出てきて、今後reactで開発していっていいのかとすら思ってきてしまってます…。

Airbnbアプリはreact-nativeでの開発をやめたというニュースもありますし、一周回ってネイティブ開発がエンジニアの数も多いでしょうし結局トータルの工数もそこまで変わらないのかもしれませんね…