高速リフレッシュに関する問題の解決
このページでは、高速リフレッシュを使用する際に発生する可能性のある一般的な問題の解決策を示します。解決策が見つからない場合は、開発者フォーラムに問題を投稿して支援を求めてください。
ポート8081が既に使用されている
エラー:
error listen EADDRINUSE: address already in use :::8081
原因: これは次の場合に発生します。
-
別のMetroバンドラーインスタンスが実行されている。
-
前回の高速リフレッシュセッションが正しく終了しなかった。
-
別のアプリがポート8081を使用している。
解決策:
-
ポート8081を使用するプロセスを特定します。
lsof -i:8081 -
ポート8081の特定のプロセスまたはすべてのプロセスを強制終了します。
# 特定のプロセスを強制終了します。 kill -9 <process ID (PID)> # 次に例を示します。 kill -9 62619 # すべてのプロセスを強制終了します。 lsof -i:8081 | xargs kill -9 -
Metroを再起動します。
npm start
アプリに変更が反映されない
原因: デバイスのアーキテクチャと一致しないビルドバリアントが使用されている場合、高速リフレッシュによるコードの変更の表示は失敗します。高速リフレッシュ機能を正しくサポートするには、デバイスごとに固有のデバッグビルドタイプが必要です。
解決策: デバイスに適したデバッグビルドバリアントを使用してください。
- Fire TVデバイス:
*_armv7.vpkgを使用します。 - Mac Intel Vega仮想デバイス:
*_x86_64.vpkgを使用します。 - Mac M1/M2 Vega仮想デバイス:
*_aarch64.vpkgを使用します。
Metroサーバーに接続できない
原因: Metroサーバーがデバイスとの接続を確立できないため、高速リフレッシュが機能しません。この状況が発生している場合、Metroサーバーに「Pending… Device connection」というメッセージが表示されます。
解決策:
- ポートフォワーディングが有効になっているかどうかを確認します。
- デバイスのシリアル番号が正しいかどうかを確認します。
- 両方のターミナル(Metroサーバーとアプリ)が実行されていることを確認します。
- Metroサーバーの接続にポート8081が使用されていることを確認します。
アーキテクチャが一致しない
原因: デバイスのアーキテクチャとビルドされたアプリパッケージ(.vpkgファイル)が一致しないため、アプリがクラッシュするか起動に失敗します。これは、デバイスで使用されているアーキテクチャとは異なるアーキテクチャ用にアプリがコンパイルされている場合に発生します。
解決策:
- デバイスのアーキテクチャが.vpkgファイルと一致していることを確認します。
kepler device infoコマンドを使用して、デバイスのアーキテクチャを確認します。- 一致していない場合は、正しいアーキテクチャでアプリを再ビルドします。
関連トピック
Last updated: 2025年9月30日

