ReactNative

M1 Mac React Native Build Errors: Solutions for ARM64 & Xcode Issues

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

スポンサードリンク

M1 MacでReact Nativeビルドエラーが発生する主な原因

M1 MacでのReact Nativeビルドエラーは、チップのアーキテクチャ特性や環境設定ミスが主な要因です。特にARM64対応のパッケージ不足Xcodeとのバージョン不一致Ruby環境の競合などが挙げられます。2023年現在では、Cocoapodsの利用制限やnpm install時のアーキテクチャ変換エラーが顕著に現れています。以下で具体的な対処法を解説します。


Cocoapodsが利用できない場合の代替インストール方法

M1 MacではCocoapodsの公式インストールが難しくなるケースがあります。代わりにHomebrew経由でのインストールや、ARM64対応パッケージを手動で導入する方法が有効です。

Homebrewでのインストール手順

M1 MacでCocoapodsを安定して利用するには、Homebrew経由でのインストールが推奨されます。以下に手順を示します。

  1. Homebrewの最新版を確認する
    bash
    brew update

  2. Cocoapodsのインストールを実行
    bash
    brew install cocoapods

  3. Ruby環境のパスを通す(RVMユーザー向け)
    bash
    echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc

注意: RVMを使用している場合、gem install cocoapods ではなくHomebrew経由でインストールすることでARM64対応が確実です。

ARM64対応パッケージの確認

以下のコマンドでCocoapodsのアーキテクチャを確認してください。

出力例:

x86_64ではなくarm64が表示される場合は、インストールが正しいです。


XcodeバージョンとReact Nativeバージョンの互換性チェック

XcodeとReact Nativeのバージョン不一致は、ビルドエラーの主要原因となります。2023年現在では以下のような組み合わせが推奨されています。

React Native バージョン 推奨 Xcode バージョン
0.72.x Xcode 14.3
0.71.x Xcode 14.1
0.69.x Xcode 14.0

公式サポートマトリクスの確認方法

React Native公式サイトのサポートマトリクスで、使用しているバージョンに対応するXcodeバージョンを確認してください。不一致がある場合、npx react-native doctorコマンドで警告が表示されます。

Xcode更新時の注意点

  • 更新前にはプロジェクト内のPodfileを確認し、platform :ios, '15.0'などの設定値を最新のXcodeバージョンに合わせて修正してください。
  • 更新後は必ずpod repo updatepod installを実行して依存関係を再構築します。

npm install時におけるARM64アーキテクチャ対応の注意点

M1 Macではnpm install時にARM64対応していないパッケージがエラーになるケースがあります。特にnativeモジュールやネイティブライブラリはアーキテクチャに敏感です。

node_modulesのクリーンインストール手順

以下の手順でnode_modulesを再構築し、ARM64対応を確認してください。

  1. 既存node_modulesを削除
    bash
    rm -rf node_modules

  2. パッケージを再インストール
    bash
    npm install

  3. ARM64対応の確認(必要に応じて)
    bash
    arch -arm64 npm install

注意: npm install時にnode-gypが実行される場合、ARM64対応パッケージがないとエラーになります。その際は手動でnativeモジュールをリビルドしてください(下記参照)。

nativeモジュールの再ビルド方法

以下のように手動でリビルドします。


Ruby環境(RVM使用時)のトラブル回避策

RVMを使用している場合、Rubyバージョンの競合やPATH設定ミスがCocoapodsエラーを引き起こします。

Cocoapods用Rubyバージョンの固定方法

  1. 現在利用中のRubyバージョン確認
    bash
    ruby -v

  2. 特定バージョンへの切り替え(例: 3.0.4)
    bash
    rvm use 3.0.4 --default

  3. Cocoapodsの再インストール
    bash
    gem install cocoapods

PATH設定の確認手順

.zshrc.bash_profileに以下の行があるか確認してください。

存在しない場合は追加し、ターミナルを再起動してください。


Expoプロジェクトでのローカルビルドエラーの特定手順

ExpoでiOSローカルビルド中に発生するエラーは、環境設定や仮想マシンとの差異が原因となるケースが多いです。

エラーログの読み取りポイント

  • Cocoapods is not available などのメッセージが出る場合、Cocoapodsのインストール状態を再確認してください。
  • Podfile not found の場合は、プロジェクト初期化が不完全です。npx expo initで再度作成し直すことを検討してください。

仮想マシンとの環境差異対応

ローカルマシンの設定と仮想マシン(例: GitHub Actions)でアーキテクチャが異なる場合、以下の手順で対応します。

  1. arch -x86_64 pod install でx86_64モードでのインストールを試す
  2. npm config set script-shell bash を設定し、スクリプト実行環境を統一

注意: npm config set script-shell bashは、zsh環境でbashスクリプトが正しく動作するようにするための設定です。特に古いツールやスクリプトとの互換性向上に役立ちます。


最終的なトラブルシューティングフローとサポートへの連絡方法

以下のステップでエラーの原因を絞り込み、解決策を適用してください。

  1. Cocoapodsが利用できるか確認
  2. pod --version でインストール済みか確認
  3. XcodeバージョンとReact Nativeの互換性チェック
  4. npm install時のエラー内容を確認(ARM64対応パッケージがない場合)
  5. RVMユーザーはRuby環境のPATH設定を再確認
  6. ExpoプロジェクトならPodfileやスクリプト環境を再構築

依然として解決しない場合は、コメント欄に具体的なエラーメッセージと以下の情報を記入してサポートをご利用ください:

  • 使用しているReact Nativeバージョン
  • Xcodeのバージョン(xcodebuild -versionで確認)
  • エラー発生時のコマンド一覧

スポンサードリンク

-ReactNative