Windows で ReactNative 開発を行う方はいないかもしれませんが、 公式サイトの「Getting Started」を実行すると以下のエラーとなったのでメモ。
Unable to load script.Make sure you are either running a Metro server or that your bundle 'index.android.bundle' is packaged correctly for release
結論から言うと node.js のバージョンを 12.8 以下に下げれば大丈夫そうです。
エラーの内容
公式サイトの手順に沿って、必要な開発環境(node、python2、JDK、AndroidStudio)をインストールを行う。 その後、ReactNative プロジェクトを作成、起動コマンドを実行するとエミュレータにエラーが表示される(起動コマンドにはエラーは出ていないのに)。
最初はこんなものかと思い、RELOAD を行うと、エラーの内容が変わる。
サーバが立ち上がっていないとのことなので、起動コマンドを実行する。
react-native start
error Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\\.*)$/: Unterminated character class. Run CLI with --verbose flag for more details.
SyntaxError: Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\\.*)$/: Unterminated character class
正規表現の解析でエラーとなり、サーバ起動に失敗していたためと考えられる。
node.js のバージョンを下げる
stackoverflow を見てみると、最新の node.js では起動に失敗するらしく、バージョンを下げるように書いてありました。 (2019/12/28 時点の最新バージョン 12.14)
chocolatey でバージョンを下げる。
choco uninstall nodejs
choco install nodejs --version 12.8
10.X 系でも大丈夫そうでした。
無事動いていることを確認
再度、サーバーを起動するとエラーは表示されず、起動感のあるメッセージが表示される。
ReactNative アプリを起動して、エミュレータにアプリが表示される。
別の解決方法?
私の環境では解決できなかったが、以下の方法でも解決できるかも?
ReactNative Android で 『Unable to load script from assets index.android.bundle』エラーが出た時の対処法