React NativeのExpoでローカルビルドする際に詰まったので、手順の紹介。
注意事項
今回はExpoプロジェクトの作り方やApple Developer Program登録の仕方などは解説しません。
すでにeas buildでビルドが行えるような環境を整えている前提で、ローカル環境上でeas build --localビルドを走らせたい人向けの記事です。
筆者の環境
- 機種: MacBook Air(M1, 2020)
- チップ: Apple M1
- OS: macOS Tahoe 26.1
- ターミナル: zsh(macOSのデフォルト)
- プロジェクトのExpoバージョン: 54.0.23
- Apple Developer Program加入済み
- Homebrew導入済み
- ExpoのEAS CLIをnpm経由でインストール済み
TL;DR
- Xcode を App Store からインストール
- Xcodeのコマンドラインツール を Xcode からインストール
- Android Studio を 公式サイト からインストール
- Android SDK を Android Studio からインストール
- 以下のコマンドをターミナルで実行
# fastlaneの導入 brew install fastlane # cocoapodsの導入 brew install cocoapods # Java 17の導入 brew install openjdk@17 echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:${PATH}"' >> ~/.zshrc # Andorid SDKのパス通し echo "export ANDROID_HOME=\"${HOME}/Library/Android/sdk\"" >> ~/.zshrc echo 'export PATH="${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools"' >> ~/.zshrc # パスの適応 source ~/.zshrc - Expoプロジェクト内で
eas build --localを実行し、ビルドできることを検証
Xcodeの導入
以下記事を参考にしてXcodeを導入してください。初期設定画面のコンポーネント追加画面でiOSを追加することをおすすめします。
Xcodeのコマンドラインツールを選択
Xcodeを開き、設定画面を表示させてから Locations > Command Line Tools をインストールしたXcodeのバージョンのものに設定
Android Studioの導入
以下記事を参考にしてAndroid Studioを導入してください。
Android SDKの導入
Android studioを開き、ホーム画面のMore Actionsから SDK Manager を開きます。
開いたウィンドウの中から Android SDK Command-line Tools を見つけ、チェックを打ちます。
最後に右下のOKボタンを押してSDKのインストールを完了させます。
最後に以下コマンドをターミナルで実行してAndroid SDKのパスを通せば完了です
# Android StudioにインストールされたSDKの場所を指定
echo "export ANDROID_HOME=${HOME}/Library/Android/sdk" >> ~/.zshrc
echo export PATH=\${PATH}:\${ANDROID_HOME}/tools:\${ANDROID_HOME}/platform-tools >> ~/.zshrc
source ~/.zshrc
Homebrewの導入
以下記事を参考にしてHomebrewを導入してください。
https://qiita.com/Meycha/items/2a07fcd7920d3c6af4fa
fastlaneの導入
以下コマンドをターミナルで実行してください
brew install fastlane
参考:
cocoapodsの導入
以下コマンドをターミナルで実行してください
brew install cocoapods
参考:
Java 17の導入
以下コマンドをターミナルで実行してください
brew install openjdk@17
# brewの指示に従ってパスを通す
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
(付録1) エラーメッセージの在処
Expoのエラーは初見だとどの辺をコピペしてAIに投げたり検索したりしたらいいの分かりづらい!
自分はどこを見ればいいのか全くわからなくて困ったので、大体のビルド時に出てくるエラーメッセージの在処を教えます!
見るべき場所は、秘密鍵の文字の上にあるエラーっぽい赤い文字です。
詳しく見ていきましょう。
まず、エラーが起きるとターミナルは次のような状態になっていると思います。

非常に長い文字列が出力されているのでここにヒントがある!と思いきや、これは全てツールがnpxに渡している秘密鍵の引数なのです。ここは見ても全く意味がないので飛ばしましょう。
この長文英数字列はnpx -y eas-cli-local-build-plugin@~~~が始まりの場所です。そこからさらに上へ遡っていくと、次の写真のように「Build failed」の文字が出てくると思います。(一部例外あり)

ここに「知らんエラーが起きたから上のログ見てな!(超絶意訳)」と書いてあるので、さらに上に行くと、、、
下の写真のように、見つけたかったエラーコードに出会うことができます!

このように、エラーが起きたらたくさん上へスクロールし、「Unknown Error」の文字より上にあるログの中から怪しいところを探してエラーを見つけます。
(付録2) エラー対処
The NODE_ENV environment variable is required but was not specified. Ensure the project is bundled with Expo CLI or NODE_ENV is set.
原因
環境変数NODE_ENVが設定されていないことが原因です。
対処方法
無視で大丈夫です。
気になる人はビルド前に次のコマンドを実行してください。
export NODE_ENV=production
Error: Distribution certificate with fingerprint XXXXXXXXXXXXXXX hasn't been imported successfully
原因
謎。Xcodeのバグ? で証明書がインストールされなかったときに起こるらしい。
対処方法
Apple Worldwide Developer Relations Certification Authority をダウンロードし、ファイルをダブルクリックしてインストールする
参考:
eas build -p ios --profile development --local , error Distribution certificate with fingerprint xxxxxxxxxxx hasn't been imported successfully · Issue #1331 · expo/eas-cli
Expo > EAS > Local Buildでfingerprintのエラー #expo - Qiita
Fastlane is not available, make sure it's installed and in your PATH
原因
Fastlaneが正常にインストールできていません。インストールをしてください。
対処方法
brew install fastlane
Cocoapods is not available, make sure it's installed and in your PATH
原因
Cocoapodsが正常にインストールできていません。インストールをしてください。
対処方法
brew install cocoapods
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
原因
Xcodeのコマンドラインツールが正常にインストールできていません。
対処方法
Xcodeからコマンドラインツールをインストールしてください。
[RUN_GRADLEW] The operation couldn’t be completed. Unable to locate a Java Runtime.
原因
Javaが正常にインストールされていないです。
対処方法
brew install openjdk@17
# brewの指示に従ってパスを通す
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
[RUN_GRADLEW] > SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting the sdk.dir path in your project's local properties file at ~~~
原因
Android SDKが正常にインストールされていないか、環境変数ANDROID_HOMEを正しく設定できていないです。
対処方法
Android Studioをインストールし、Android Studio経由でAndroid SDKをインストールした後に次のコマンドを実行してください。
# Android StudioにインストールされたSDKの場所を指定
echo "export ANDROID_HOME=${HOME}/Library/Android/sdk" >> ~/.zshrc
echo export PATH=\${PATH}:\${ANDROID_HOME}/tools:\${ANDROID_HOME}/platform-tools >> ~/.zshrc
source ~/.zshrc


