Replitでモバイルアプリを作成する際、プレビュー、バンドル、またはパッケージの依存関係に問題が発生することがあります。このガイドでは、クイックフィックスから詳細なデバッグ手順まで、一般的な問題の解決方法を説明します。Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
クイックフィックス
まずこれらを試してください。ほとんどの問題が解決します:| 問題 | 試すこと |
|---|---|
| スマートフォンに変更が反映されない | スマートフォンをシェイクしてExpoメニューを開き、Reload をタップ |
| プレビューに変更が反映されない | コンソールで R を押してリバンドルを実行 |
| アプリがフリーズまたは応答しない | コンソールからアプリを停止して再起動 |
一般的な問題
デバイスに変更が反映されない
デバイスに変更が反映されない
変更を加えてもスマートフォンに表示されない場合:
- スマートフォンをシェイクしてExpo開発者メニューを開く
- Reload をタップしてバンドルを再ダウンロード
Expo Goで赤いエラー画面が表示される
Expo Goで赤いエラー画面が表示される
赤いエラー画面は通常、JavaScriptエラーまたはモジュールの欠如を示します。エラーメッセージを読んでください — 多くの場合、特定のファイルと行が示されています。よくある原因:
- パッケージがインストールされていないか、バージョンが間違っている
- Webでは動作するがネイティブでは動作しないモジュール(またはその逆)
- コード内の構文エラー
- エラーメッセージをよく読む — 多くの場合、何が問題かが正確に示されています
- メッセージを共有してAgentに修正の支援を依頼する
- エラーが特定のパッケージに言及している場合は、依存関係の再インストールを試みる(パッケージを再インストールするを参照)
Webでは動作するがスマートフォンでクラッシュする(またはその逆)
Webでは動作するがスマートフォンでクラッシュする(またはその逆)
パッケージや機能によってはプラットフォームによって動作が異なります。React NativeはiOS、Android、Webの3つのターゲットにコンパイルします。Webで動作するライブラリがネイティブをサポートしていない場合や、異なる設定が必要な場合があります。試すこと:
- パッケージのドキュメントでプラットフォームのサポートを確認する
- Agentに「このパッケージはExpo Goと互換性がありますか?」と質問する
- モバイルでサポートされていない場合は、機能をサーバーに移動することを検討する
QRコードがスキャンできないまたはアプリが接続できない
QRコードがスキャンできないまたはアプリが接続できない
ネットワークを確認する:
- スマートフォンとパソコンが同じWiFiネットワークに接続されている必要があります
- 企業ネットワークや公共ネットワークでは接続がブロックされることがあります
npx expo start --tunnel を実行します。Expo Goを再起動する:
スキャンする前にExpo Goを完全に閉じて再度開きます。ビルドに時間がかかる
ビルドに時間がかかる
最初のビルドはキャッシュがないため常に時間がかかります。その後のビルドは速くなるはずです。ビルド時間に影響する要因:
- プロジェクト内のパッケージ数
- キャッシュをクリアした後の初回実行
- パッケージのダウンロード時のネットワーク速度
モジュールが見つからないエラー
モジュールが見つからないエラー
「Unable to resolve module」または「Module not found」が表示される場合:
- パッケージがインストールされていない可能性 — Agentにインストールを依頼する
- パッケージはインストールされているがキャッシュが古い可能性 — キャッシュをクリアする
- パッケージが存在しないまたはスペルが間違っている可能性 — パッケージ名を確認する
デバッグコマンド
クイックフィックスで解決しない場合、これらのコマンドでさまざまなキャッシュと状態をリセットできます。Shellで実行します。Metroキャッシュをクリアする
MetroはReact Nativeコードをコンパイルするバンドラーです。キャッシュをクリアすることで強制的に新しいビルドを実行します。 Shellで次を実行します:パッケージを再インストールする
モジュールエラーやバージョンの不一致が発生している場合、パッケージの再インストールが有効なことが多いです。 Shellで次を実行します:package.json に基づいて最初からインストールし直されます。
プロジェクトが別のパッケージマネージャー(
bun や pnpm など)を使用している場合は、適切なインストールコマンドを使用してください:bun install または pnpm install。バージョンの不一致を確認する
Expo Doctorはプロジェクトをスキャンして、パッケージ間のバージョンの不一致などの一般的な問題を検出します。 Shellで次を実行します:フルリセット
他の方法が機能しない場合、フルリセットですべてのキャッシュをクリアしてすべてを再インストールします。ニュークリアオプション:フルリセットコマンド
ニュークリアオプション:フルリセットコマンド
このコマンドはすべてのキャッシュを削除してパッケージを最初からインストールし直します。最後の手段として使用してください。実行内容:
rm -rf node_modules— インストール済みパッケージを削除rm -rf .expo— Expoのローカルキャッシュを削除npm cache clean --force— npmのグローバルキャッシュをクリアnpm install— すべてのパッケージを再インストールnpx expo start --clear— Metroキャッシュをクリアした状態で起動
デバイスのキャッシュをクリアする
再読み込み後もスマートフォンのアプリが古いコードのままになっている場合:- iOS: Expo Goで Settings に移動して Clear Cache をタップ
- Android: Settings > Apps > Expo Go > Storage > Clear Cache に移動
クイックリファレンス
| 問題 | まず試すこと | 次に試すこと |
|---|---|---|
| 変更が反映されない | スマートフォンをシェイク → Reload | Metroキャッシュをクリア |
| バンドラーエラー | npx expo start --clear | node_modulesを削除 |
| モジュールが見つからない | 依存関係を再インストール | フルリセット |
| バージョン不一致の警告 | npx expo-doctor を実行 | 提案された修正を評価 |
| 新しいパッケージが機能しない | サーバーを再起動 | Metroキャッシュをクリア |
| app.jsonを変更した | サーバーを再起動 | — |
さらにサポートが必要な場合
まだ解決しない場合:- Agentに質問する: エラーと試したことを説明してください。Agentが問題を診断して修正できることが多いです。
- Expoドキュメントを確認する: Expoのトラブルシューティングガイドでさらなるシナリオをカバーしています。
- エラーを検索する: 正確なエラーメッセージをコピーして検索してください — 同じ問題に遭遇した人が既にいる可能性が高いです。
次のステップ
- ネイティブモバイルアプリに戻る
- 公開フローを学ぶ:モバイルアプリのビルドとリリース