0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

macOSのローカル上でExpoをbuildできるようになるまで

Posted at

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

  1. XcodeApp Store からインストール
  2. Xcodeのコマンドラインツール を Xcode からインストール
  3. Android Studio公式サイト からインストール
  4. Android SDK を Android Studio からインストール
  5. 以下のコマンドをターミナルで実行
    # 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
    
  6. Expoプロジェクト内で eas build --local を実行し、ビルドできることを検証

Xcodeの導入

以下記事を参考にしてXcodeを導入してください。初期設定画面のコンポーネント追加画面でiOSを追加することをおすすめします。

Xcodeのコマンドラインツールを選択

Xcodeを開き、設定画面を表示させてから Locations > Command Line Tools をインストールしたXcodeのバージョンのものに設定

Screenshot 2025-11-09 at 1.46.56.png

Android Studioの導入

以下記事を参考にしてAndroid Studioを導入してください。

Android SDKの導入

Android studioを開き、ホーム画面のMore Actionsから SDK Manager を開きます。

Screenshot 2025-11-09 at 2.22.42.png

開いたウィンドウの中から Android SDK Command-line Tools を見つけ、チェックを打ちます。

Screenshot 2025-11-09 at 2.23.04.png

最後に右下の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に投げたり検索したりしたらいいの分かりづらい!
自分はどこを見ればいいのか全くわからなくて困ったので、大体のビルド時に出てくるエラーメッセージの在処を教えます!

見るべき場所は、秘密鍵の文字の上にあるエラーっぽい赤い文字です。
詳しく見ていきましょう。

まず、エラーが起きるとターミナルは次のような状態になっていると思います。
Frame 10.png
非常に長い文字列が出力されているのでここにヒントがある!と思いきや、これは全てツールがnpxに渡している秘密鍵の引数なのです。ここは見ても全く意味がないので飛ばしましょう。

この長文英数字列はnpx -y eas-cli-local-build-plugin@~~~が始まりの場所です。そこからさらに上へ遡っていくと、次の写真のように「Build failed」の文字が出てくると思います。(一部例外あり)
Frame 11.png
ここに「知らんエラーが起きたから上のログ見てな!(超絶意訳)」と書いてあるので、さらに上に行くと、、、

下の写真のように、見つけたかったエラーコードに出会うことができます!
Screenshot 2025-11-09 at 1.10.22.png

このように、エラーが起きたらたくさん上へスクロールし、「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
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?