ReactNative

React Native 環境構築ガイド:Node20・Expo・Vite・Tailwind CSS 手順

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

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

前提環境の確認とセットアップ

React Native + TypeScript の開発をスムーズに開始するには、ローカルマシンに 正しいバージョン が揃っていることが最も重要です。このセクションでは、Node.js・npm/yarn・Xcode・Android Studio といった必須ツールのインストール手順と、実際に動作確認を行うためのコマンド例を示します。全体像を把握した上で各項目を順番にチェックすれば、環境依存エラーの発生率が大幅に低減します。

Node.js 20 系列以上・npm/yarn のインストールとバージョン確認

Node.js 20 は 2023年10月に LTS が開始 したバージョンで、React Native CLI と Expo が公式に推奨する最低要件です。LTS が開始された年度を正しく認識しておくことで、古いドキュメントによる誤情報を防げます。

  1. 公式サイトからインストーラを取得
  2. https://nodejs.org/ja/ で「LTS」ラベルが付いた 64‑bit インストーラ(macOS または Windows)をダウンロードします。

  3. インストール後にバージョンを確認

ポイント
- nvm(Node Version Manager)を併用すると、複数バージョンの切り替えがシームレスに行えます。
- npm は Node 本体に同梱されるため、個別アップデートは基本的に不要です。

macOS: Xcode、Windows/macOS: Android Studio のインストール手順

macOS – Xcode(iOS 開発)

Xcode は iOS シミュレータやビルドツールを提供する必須環境です。以下の手順でインストールと動作確認を行います。

  1. Mac App Store から最新版 Xcode をダウンロード
  2. CLI ツールが有効か確認

  1. 必要に応じてデフォルトの開発者ディレクトリを設定

Windows/macOS – Android Studio(Android 開発)

Android Studio は SDK・エミュレータ・ビルドツールを一括管理できる公式 IDE です。

  1. 公式サイトからインストーラを取得
    https://developer.android.com/studio
  2. SDK コンポーネントの確認

  3. Android SDK Platform‑Tools

  4. Android SDK Build‑Tools (33.x 系列)

  5. 環境変数を設定し、adb が認識できるかテスト

ポイント
- macOS でも Android 開発を行う場合は、Android Studio のインストールと adb パスの通し忘れに注意してください。
- 両方の IDE が揃っていれば、物理端末・シミュレータ・エミュレータすべてでテストが可能です。


プロジェクト作成コマンド比較

Expo と純粋な React Native CLI はそれぞれ異なる開発体験とカスタマイズ性を提供します。この章では、TypeScript テンプレート付きの代表的コマンド を比較し、プロジェクト規模やチーム方針に合わせた選択指標を示します。

npx create-expo-app MyApp --template expo-template-blank-typescript の特徴とメリット

Expo は「設定不要で即開発」をコンセプトにしたフレームワークです。以下の表は、Managed Workflow をベースにした場合の主な特長をまとめたものです。

項目 内容
セットアップ時間 1〜2 分で完了(依存パッケージ自動インストール)
開発サーバー expo start → QR コードで Expo Go に即時接続
ビルド方式 EAS Build が標準。iOS/Android のネイティブコードは抽象化され、CI/CD が容易
拡張性 必要に応じて「bare workflow」へ移行でき、カスタムネイティブモジュールも追加可
適したケース プロトタイピング、社内ツール、非エンジニアが多いチーム

結論
Expo は開発速度を最優先するプロジェクトに向いており、後からネイティブコードを差し込む柔軟性も備えています。

npx react-native init MyApp --template react-native-template-typescript の特徴と選択基準

React Native CLI は「フルコントロール」型のアプローチです。以下はネイティブコードへの直接アクセスが必要なケースに適したポイントです。

項目 内容
セットアップ時間 3〜5 分(iOS/Android のネイティブ依存関係解決を含む)
開発サーバー npx react-native start(Metro)
ビルド方式 Xcode / Android Studio で直接ビルド。カスタムネイティブモジュール追加が容易
拡張性 Objective‑C、Swift、Java、Kotlin のコードを自由に組み込める
適したケース 大規模アプリ、パフォーマンス重視、独自ネイティブ機能が必須のプロジェクト

結論
ネイティブ側への深い介入が求められる場合は CLI が唯一無二の選択肢です。


Expo + Vite + Tailwind CSS の統合手順

2026 年版スタックで注目されている Expo + Vite + Tailwind の組み合わせは、開発効率と UI カスタマイズ性を同時に高めます。ただし、単なる Web 用 PostCSS 設定だけでは React Native(Expo)上で機能しません。ここでは nativewind を用いた Tailwind の実装方法、Vite と Expo の連携プラグイン設定、さらに expo-router との併用例を順に解説します。

Vite 環境構築とプラグイン設定

まずは Vite 本体と React 用プラグイン、そして Expo 向けのエイリアスやポート競合回避策を整備します。

  1. Vite と公式 React プラグインをインストール

  1. Expo 用プラグイン(vite-plugin-expo)と Router 用ユーティリティを追加

  1. vite.config.ts の雛形
    以下の設定は、Metro が使用するポート 8081 と競合しないように Vite 側で 3000 を固定し、Expo のモジュール解決に合わせたエイリアスを定義しています。

  1. package.json にスクリプトを追加

ポイント
- vite-plugin-expo は内部で babel-preset-expo を呼び出し、JSX/TSX の変換を Metro と同等に扱います。これにより Vite の高速 HMR が React Native コンポーネントでも有効になります。
- さらに expo-router 用のエイリアスを設定しておくと、ページベースのルーティングが Vite のビルド対象に正しく含まれます。

React Native 用 Tailwind(nativewind)の導入

Web 向け PostCSS 設定だけでは Expo アプリ上で Tailwind クラスが解釈されません。React Native 版 Tailwind ライブラリとして広く採用されている nativewind を利用します。

  1. パッケージをインストール

  1. tailwind.config.cjs の設定
    content 配列に React Native の JSX/TSX ファイルと、Expo Router が生成するページコンポーネントを追加します。

  1. babel.config.js に nativewind プラグインを組み込む

  1. エントリ CSS(src/index.css)を作成し、App にインポート

ポイント
- nativewind はビルド時に Tailwind のユーティリティクラスを React Native の StyleSheet に変換します。そのため PostCSS の実行は不要 です。
- Vite が提供する高速 HMR と組み合わせることで、スタイル変更が即座にシミュレータ/実機へ反映されます。

Expo Router と Vite の連携設定

expo-router は「ファイルベースのルーティング」を実現し、Web アプリ感覚で画面遷移を管理できます。Vite でも同様にページ単位でコード分割したい場合は、以下の手順で統合します。

  1. router 用パッケージをインストール

  1. app/_layout.tsxapp/index.tsx を作成(ファイルベースルーティングの基本構造)

  1. Vite 側で app ディレクトリをエントリポイントに含める
    vite.config.tsresolve.alias@/app エイリアスを追加し、content 設定でも ./app/**/*.{tsx,ts} を忘れずに記述します。

  1. 開発サーバーの同時起動
  2. npm run dev → Vite が UI コンポーネントと Tailwind の HMR を提供。
  3. 別ターミナルで npm start(= expo start)を実行し、Metro が JavaScript バンドルを供給します。Vite と Metro はそれぞれ独立したポートで動作するため、競合は起きません。

まとめ
Vite の高速 HMR+nativewind の即時スタイル反映、そして expo-router によるページベースのナビゲーションを組み合わせれば、Web 開発感覚で React Native アプリを構築できる環境が完成します。


TypeScript と VSCode 環境の最適化

型安全性と開発者体験はプロジェクト成功の鍵です。この章では tsconfig のベストプラクティス、VSCode 拡張機能、そしてチーム全員が同じ設定を共有できる方法を解説します。

tsconfig.json のベストプラクティス

以下は 2026 年版スタックに合わせた推奨設定です。strict モードの有効化paths エイリアス が特に重要です。

  • strict: noImplicitAnystrictNullChecksexactOptionalPropertyTypes などすべてのチェックがオンになるため、実装段階で潜在的バグを早期に検出できます。
  • paths エイリアス: 大規模プロジェクトでは相対パス (../../../) が読みにくくなるため、エイリアスでインポートをシンプル化します。

VSCode 推奨拡張機能と共有設定

拡張機能 主な役割 代表的な推奨設定
React Native Tools デバッグ、シミュレータ起動、expo start の自動検出 reactNative.debuggerPort: 8081
ESLint TypeScript 対応のコード品質チェック "parser": "@typescript-eslint/parser"
Prettier - Code formatter 自動整形(Tailwind クラスも対象) prettier.singleQuote: truetrailingComma: "all"
Tailwind CSS IntelliSense Tailwind クラス補完・ドキュメント表示 tailwindCSS.experimental.classRegex: [["tw([^]*)"]]`
NativeWind Intellisense (2026年版) nativewind のクラス補完とリアルタイム検証 "nativewind.intelliSense.enabled": true
TypeScript Hero(メンテナンス継続) インポート自動整理、エイリアス補完 "typescriptHero.imports.organizeOnSave": true

プロジェクト固有の VSCode 設定例

.vscode/settings.json

ポイント
- .vscode ディレクトリを Git に含めることで、チーム全員が同一のエディタ体験を共有できます。


エラー対処とビルド・デバッグフロー

実務で直面しやすい環境依存エラーは、原因特定→再現手順→解決策 の3ステップで体系的に切り分けると迅速です。この章では代表的なトラブルケースと、その対処フローをまとめます。

代表的な環境エラーと解決策

エラー 主な原因 推奨する解決手順
Unsupported Node version (node >=20 required) グローバルに古い Node が残っている、nvm の切り替え忘れ 1. nvm install 20 && nvm use 20
2. ターミナルを再起動し node -v を確認
adb: command not found ANDROID_HOME が未設定、またはパスが古い 1. 正しい SDK パスを環境変数に追加
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
2. source ~/.zshrc 後に adb version を実行
Expo Go バージョンミスマッチ Expo CLI と端末上の Expo Go が非同期に更新されている 1. App Store / Google Play で最新の Expo Go をインストール
2. expo start -c(キャッシュクリア)を実行
Vite HMR が効かない ポート競合、または Metro の WebSocket が遮断されている 1. vite.config.tsserver.port3000 に固定
2. metro-config 側のポートを 8081 に明示(metro start --port 8081
nativewind スタイルが適用されない babel.config.js にプラグイン未登録、または content 設定漏れ 1. babel.config.js'nativewind/babel' を追加
2. tailwind.config.cjscontent 配列に全ての .tsx パスを網羅

実践的なトラブルシューティングフロー

  1. エラーメッセージを正確にコピー → Google / StackOverflow で検索し、公式 Issue がないか確認。
  2. 環境変数やパスの再設定 → ターミナル/シェルを完全に再起動してキャッシュが残らないようにする。
  3. expo doctor の実行 → 依存関係全体の健全性レポートが得られ、見落としがちなミスマッチを検出できる。

ビルド・テスト手順:expo start, npm run ios, npm run android の使い分け

コマンド 用途 主な効果
expo start 開発サーバー起動(QR コード表示) Expo Go で即時プレビュー、-c オプションでキャッシュクリア
npm run dev Vite の HMR サーバー起動 UI コンポーネントと Tailwind の変更がミリ秒単位で反映
npm run ios / expo run:ios iOS シミュレータへデプロイ Xcode が自動起動し、ビルドエラーを即座に確認可能
npm run android / expo run:android Android エミュレータ/実機へデプロイ AVD Manager または USB 接続端末でテスト
eas build --platform ios|android 本番向けビルド(EAS) OTA 更新や App Store / Google Play への配布が可能

推奨フロー例

まとめ
- expo start がベースの開発サイクルに対し、Vite の HMR を併用すると UI 改修が格段に速くなります。
- ビルドは eas build で行い、CI/CD パイプラインへ組み込むとリリース作業が自動化できます。


おわりに

本稿では Node.js 20(LTS が2023年開始) の正しい情報から始まり、Expo + Vite + nativewind という最新スタックの構築手順を詳細に解説しました。Vite の高速 HMR・エイリアス設定、nativewind による React Native 向け Tailwind、そして expo-router と組み合わせたページベースのナビゲーションは、Web 開発感覚でモバイルアプリを作れる大きなメリットです。

さらに TypeScript の strict 設定VSCode 拡張機能 を整えることで、型安全かつ快適な開発環境が完成します。エラー対処フローとビルド・デバッグ手順を併せて把握しておけば、実務でのトラブルにも迅速に対応できるはずです。

ぜひ本記事を手元に置きながら、最新スタックで React Native + TypeScript のプロジェクトをゼロから構築し、開発速度とコード品質の両立を実感してください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-ReactNative