React Native

【ReactNative】M1 Apple Silicon Macでの環境構築【2021年12月更新】

React Native
この記事は約6分で読めます。

はじめに

M1 Mac対応していない依存関係があり、苦労されている方も多いかと思いますので、現時点でうまくいっている方法をまとめております。

ただし、時間が経つごとに状況が変化しますので、ご自身でもよくお調べになった上で実行いただくようお願いいたします。

The smug face of the author
The smug face of the author

前提

  • Mac購入後、全くの初期状態からスタート
  • MacOS Big Sur(11.2.3)
  • Rosetta2インストール済み
  • 実行するコマンドは基本arm64のターミナルで実行する
  • Rosetta2(x86_64)ターミナルで実行するコマンドについてはその旨記載している。
  • 基本的に全部 brewで管理する。

ターミナルのRosetta2切り替え

Finderからアプリ名を右クリックして「情報」から切り替えることができる。

確認

ターミナルでuname -aコマンドを実行することで、現在の状態が確認できる。

  • arm64: M1
  • x86_64: Rosetta2
uname -a
# Darwin Kernel Version 20.3.0... x86_64

Homebrewのインストール

2021/2/5にAppleSilicon(M1)がサポートされたバージョンであるHomebrew3.0.0がリリースされた。
が、フォーミュラによっては未対応なので、Rosseta2とうまく併用する必要あり。

公式からインストールする。

Homebrewhttps://brew.sh

公式サイトにアクセスすると、コマンドが表示されるのでターミナルにコピペして実行。インストールする。

パスを通す

インストールの最後にパスを通すよう言われるので、その通りコマンド実行する。

==> Next steps:
- Add Homebrew to your PATH in /Users/shin/.zprofile:
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/shin/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run `brew help` to get started
~$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/shin/.zprofile
~$ eval "$(/opt/homebrew/bin/brew shellenv)"

動作確認

~$ brew -v
Homebrew 3.1.2

バージョンが表示されればOK。

Nodeのインストール

nodeenv を使用する。

brew install nodenv
touch .zshrc

パスを通す

.zshrc

eval "$(nodenv init -)"

Nodeのインストール

Nodeはv15.3.x 以降M1対応。
ターミナルを Rosetta2 に切り替えてインストール する。 (インストール後はarm64に戻してOK)

nodenv install 15.9.0
# 確認
nodenv versions

使用するNodeバージョンを指定

nodenv local 15.9.0
# 確認
node -v
npm -v

yarnのインストール

npm i -g yarn

Watchmanのインストール

brew install watchman

JDKのインストール

brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

Cocoapodsのインストール

brew install cocoapods

※ sudo gen install cocoapodsはインストール自体は可能だがpod installで失敗する。homebrewだとうまくいく。

Xcodeのインストール

  • App Store からインストールし、起動する
  • Preferences > Locations > Command Line Tools を設定する

Android Studioのインストール

  • 公式サイトからインストールし、起動する。

インストールウィザード

初回起動時のインストールウィザードでは、 「Custom」を選択する。
以下の3つにチェックを入れ >「Next」
– Android SDK
– Android SDK Platform
– Android Virtual Device

SDK Manager

  • Configure > SDK Manager を選択
  • “SDK Platforms” > “Show Package Details”にチェックを入れる
  • 以下にチェックを入れインストールする
    • Android SDK Platform 29
    • Intel x86 Atom_64 System Image

  • “SDK Tools” > “Show Package Details”にチェックを入れる
  • 29.0.2 にチェックを入れインストールする

AVD Manager

arm64対応のエミュレータを設定する。

通常のエミュレータでは、M1でうまく動かない場合があるため。

端末

  • Pxcel3 など新しめのものを選択する

System Image

  • “Other Image”タブ を選択
  • APIレベル『S』の (Google APIs)を選択しインストールする

エミュレータが認識されない/ OFFLINE エラーになる場合

Android emulator-5554 offline

となってうまく起動できない場合がある。その場合、以下の記事を参考にシステムイメージのリビジョンを変更する。

【M1 mac】Android Studioでインストールしたエミュレータが応答しない – Qiitahttps://qiita.com

パスを通す

zshrc

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

サンプルプロジェクトを起動する

npx react-native init AwesomeProject

# iOS
npx react-native run-ios
# Android
npx react-native run-android


# 参考

- https://medium.com/mobile-app-development-publication/my-journey-to-setup-android-emulator-for-m1-macbook-pro-b8365321b3e7
- https://blog.mktia.com/nodejs-on-mac-m1/

うまく起動できれば、完了!

その他のおすすめ記事