ReactNative

React Native と Expo の開発環境構築ガイド(SDK 50)

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

開発環境の準備

React Native と Expo で本格的に開発を始めるには、ローカルマシンに最低限必要なツールを揃えることが前提です。ここでは Node.js LTS・パッケージマネージャ・ファイル監視ツール(macOS の watchman と Windows での代替手段)・バージョン管理システム Git のインストール方法を解説します。すべてのコマンドはターミナル(PowerShell、Git Bash など)で実行してください。

Node.js LTS とパッケージマネージャ

Node.js は JavaScript 実行環境だけでなく、npm が自動的に同梱されます。nvm を使って最新の LTS バージョンを取得すると、将来のアップデートにも柔軟に対応できます。

npm がすでに入っているので、追加でインストールが必要な場合は Yarn など好みのパッケージマネージャをグローバルにインストールします。

ポイント:Node と npm が PATH に通っていれば、後続の expoeas コマンドはすべてローカルから実行できます。

watchman と Windows での代替手段

macOS ではファイル変更を高速に検知できる watchman が推奨されます。Homebrew がインストール済みなら次のコマンドで導入できます。

Windows 環境では watchman が公式にサポートされていないため、以下の代替手段が一般的です。

方法 説明
Metro の標準監視 Expo の開発サーバ(Metro)は OS 標準のファイル監視機能を使用するので、特別なツールは不要です。
chokidar-cli npm i -g chokidar-cli でインストールし、chokidar "**/*.js" のように手動で監視スクリプトを走らせることができます。
WSL + watchman Windows Subsystem for Linux (WSL) 上で Linux 用 watchman をビルド・実行する方法もありますが、セットアップコストが高めです。

開発中にファイル変更が反映されないときは、まず Metro のキャッシュクリア(expo start -c)を試してください。

Git のインストール

Git はコードのバージョン管理だけでなく、Expo Application Services(EAS)ビルド時の認証にも利用されます。公式サイトから OS に合わせたインストーラをダウンロードし、インストール後にバージョンを確認しましょう。

初回設定としてユーザー名とメールアドレスを登録しておくと、コミット時に毎回入力する手間が省けます。


Expo CLI の導入とプロジェクト作成

Expo CLI は Expo プラットフォーム全体を操作するコマンドラインツールです。この記事執筆時点での 最新安定版 をインストールし、TypeScript テンプレートからプロジェクトを生成します。

expo-cli のインストール方法

グローバルにインストールすると expo コマンドが常に利用可能です。バージョンは実行時に自動で取得できるので、将来のリリースに合わせて手動更新する必要はありません。

もしグローバルインストールを避けたい場合は、npx expo を使って一時的に実行できます。

プロジェクトの初期化

以下のコマンドで blank‑typescript テンプレートをベースにしたプロジェクトを作成します。--npm オプションは Yarn を使用する場合は --yarn に置き換えてください。

生成されるディレクトリ構造の概要です。

ポイント:TypeScript テンプレートは型情報が充実しているため、コード補完とエラーチェックが開発効率を大幅に向上させます。


設定ファイルと環境変数管理

Expo SDK のバージョンが上がるたびに設定方法も進化しています。現在(執筆時点)推奨されている app.config.ts.env ファイルの組み合わせで、開発・ステージング・本番環境をシームレスに切り替える手順をご紹介します。

app.config.ts の基本構成

app.config.ts は TypeScript で記述できるため、IDE の型補完が利用できます。以下は最小限の必須項目と OTA(Over‑the‑Air)アップデート設定例です。

  • runtimeVersionupdates.url は OTA 更新に必須です。
  • extra フィールドに環境変数を渡すことで、アプリ内部から安全に参照できます。

.env と dotenv の活用例

  1. dotenv のインストール(開発依存)

bash
npm i -D dotenv

  1. .env ファイル作成(プロジェクトルート)

dotenv
API_BASE_URL=https://api.example.com/v1
EXPO_UPDATES_URL=https://u.expo.dev/abcd1234

  1. コード側で参照する

app.config.tsextra に設定した変数は、ランタイムでは expo-constants から取得できます。

tsx
// src/constants.ts
import Constants from 'expo-constants';

export const API_BASE_URL = Constants.manifest?.extra?.API_BASE_URL ?? '';

ポイント.env はリポジトリにコミットしないよう .gitignore に追加し、CI 環境ではシークレットストアや GitHub Actions の secrets 機能で注入してください。


必要なライブラリの追加と実機テスト

Expo のマネージドワークフローはほぼすべてのネイティブモジュールを自動リンクします。そのため、追加したいパッケージを npm i(または yarn add)するだけで完了します。ここでは画面遷移とジェスチャー処理に必要な代表的ライブラリを例示し、実機テストの流れも併せて解説します。

推奨ライブラリ一覧

パッケージ 用途 インストールコマンド
react-native-gesture-handler タッチジェスチャー全般 npm i react-native-gesture-handler
@react-navigation/native 画面遷移のコア npm i @react-navigation/native
@react-navigation/native-stack スタックナビゲーション(iOS/Android 両方) npm i @react-navigation/native-stack
expo-status-bar ステータスバー制御(Expo 推奨) npx expo install expo-status-bar

インストール例

Expo Go での実機テスト手順

  1. 開発サーバを起動

bash
cd my-app
expo start # Metro バンドラが立ち上がります

  1. QR コードをスキャン
  2. iOS:iPhone のカメラまたは Expo Go アプリで QR を読み取る。
  3. Android:Google カメラ、または Expo Go で同様にスキャン。

  4. 動作確認ポイント

  5. アプリが起動し App.tsx の内容が画面に表示されるか。

  6. ナビゲーションボタンやスクロールジェスチャーが期待通りに機能するか。
  7. ソースコードを保存した瞬間に自動リロード(Hot Reload)が走るか。

ポイント:Expo Go は開発サーバへリアルタイムで接続するため、ビルド不要ですぐにデバイス上で確認できます。


EAS Build のセットアップと本番ビルド

実機テストだけでは配布できません。App Store や Google Play に提出可能な スタンドアロン バイナリを作るには、Expo Application Services(EAS)Build を利用します。

eas-cli のインストールと認証

注意npm view eas-cli version コマンドで最新バージョンを随時確認すると、将来のリリースでも同様に手順を踏めます。

ビルドコマンドと成果物取得

プラットフォーム 実行例 主なオプション
Android (APK) eas build --platform android --profile preview でテストビルド、--local でローカルビルド(Android Studio 必要)
iOS (IPA) eas build --platform ios --profile production TestFlight に直接アップロードする場合は --auto-submit を付与

ビルドが開始するとターミナルに Build ID とプレビュー URL が表示されます。完了後は次のコマンドでアーティファクトをダウンロードできます。

証明書・プロビジョニングプロファイル管理

iOS ビルドでは Apple Distribution CertificateApp Store Connect のプロビジョニングプロファイル が必要です。EAS CLI は対話式に証明書の作成/アップロードをサポートしています。

Android の場合は Google Play Console に登録したサービスアカウントキー(JSON)を eas secret:create で管理し、ビルド時に自動的に署名します。

よくあるエラーと対処例

エラーメッセージ 発生原因 推奨対策
expo-cli version mismatch グローバルに古い expo-cli が残っている npm uninstall -g expo-cli && npm i -g expo-cli@latest
Missing Apple Distribution Certificate iOS ビルド時に証明書が未登録 eas credentials --platform ios から新規作成または既存証明書をアップロード
Failed to install watchman (macOS) Homebrew が古い、もしくは Xcode Command Line Tools 未インストール brew update && brew upgrade watchmanxcode-select --install を実行
EAS build failed: Android SDK not found ローカルで Android ビルドを選択したが SDK が未設定 Android Studio のインストールと ANDROID_SDK_ROOT 環境変数の設定を確認

ポイント:エラーメッセージはほぼ自動的に解決策へのリンクやヒントを出すので、まずは提示されたコマンドを実行し、バージョン不整合が残っていないかだけでもチェックすると多くの問題が回避できます。


CI/CD とリポジトリ初期化

チームで開発する際は GitHub などのリモートリポジトリにコードを置き、CI(GitHub Actions 等)で自動ビルドさせると作業効率が格段に上がります。

GitHub リポジトリ作成手順

.github/workflows/eas-build.yml の雛形は公式ドキュメントにありますが、最小構成は次のとおりです。

README に入れるべき情報(例)

Development

CI/CD

GitHub Actions が eas build を自動実行します。シークレットはリポジトリ設定で EAS_TOKEN として登録してください。

Contributing

  1. Fork → ブランチ作成
  2. 変更後に npm run lint && npm test が成功することを確認
  3. Pull Request を送る

License

MIT
`

ポイント:README に「EAS ビルドの無料クレジット利用方法」や「環境変数の管理手順」を明記すると、共同開発者がスムーズにセットアップできます。


まとめ

  1. Node.js LTS と Git をインストールし、macOS では watchman、Windows では Metro 標準監視か chokidar‑cli を利用する。
  2. expo-cli(最新)expo init で TypeScript テンプレートを作成。
  3. app.config.ts + .env で環境ごとの設定をコード変更なしで切り替える。
  4. 必要なライブラリを追加し、Expo Go で即時実機テスト。
  5. eas-cli を使ってスタンドアロンビルドを作成し、証明書・プロファイル管理に注意する。
  6. GitHub リポジトリと CI(GitHub Actions)を整備すれば、プッシュごとに自動ビルドが走り、本番提出までのフローが完成します。

この手順に沿って環境構築すれば、初心者でも安全かつ高速に React Native + Expo アプリ開発を開始できるはずです。ぜひ実践してみてください。

スポンサードリンク

-ReactNative