Apple silicon Macで開発環境を構築MacBook Air 2022を入手したので、Apple silicon(M1、M2)ネイティブソフトウェアのみで開発環境を整えてみる。MacBook Air 2022のmacOSは元々12.4がインストールされていたが、後にアップデートが公開されて、現在は12.5になっている。 Xcode等をインストールまずはiOSアプリの開発に欠かせないXcodeをインストールする。XcodeはApp Storeからインストールするだけなので、特に説明の必要もないだろう。 Chromeは以下URLからインストールできる。Apple silicon用バイナリが用意されているので、それをダウンロードする。 https://www.google.com/intl/ja/chrome/Visual Studio Codeは以下URLからインストールできる。"Universal"か"Apple Silicon"を選択すれば良い。 https://code.visualstudio.com/download gitは元々MacBook Airに入っていた。 % git --version git version 2.32.1 (Apple Git-133) HomebrewをインストールHomebrewはMac用のパッケージマネージャで、開発に必要なソフトウェアをコマンド1つでインストールできるので事実上必須のツールである。ターミナルを開いて以下のコマンドを入力する。 % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" コマンドを実行した後に、以下のようなメッセージが表示されるのでそれに従う。 ==> Next steps: - Run these two commands in your terminal to add Homebrew to your PATH: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/mobile/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" すなわち、mobileユーザであれば以下の2行を実行する。 % echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/mobile/.zprofile % eval "$(/opt/homebrew/bin/brew shellenv)" Homebrew 3.5.7がインストールされた。 % brew -v Homebrew 3.5.7 Homebrew/homebrew-core (git revision 7d7bf52656e; last commit 2022-08-01) JDKをインストールJDKは入っていないようだ。 % java -version The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. JDKはHomebrewを使うと簡単にインストールできる。今回はLTSとなるOpenJDK 17をHomebrewでインストールする。/p> % brew install openjdk@17 すると、JDKがインストールされた後に以下のようなメッセージが表示された。 For the system Java wrappers to find this JDK, symlink it with sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk JDKを利用可能にするために、指示に従ってシンボリックリンクを作成する。 % sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk JDKが利用可能となった。 % java -version openjdk 17.0.4 2022-07-19 OpenJDK Runtime Environment Homebrew (build 17.0.4+0) OpenJDK 64-Bit Server VM Homebrew (build 17.0.4+0, mixed mode, sharing) Docker DesktopをインストールDocker Desktopは以下URLからインストールできる。"Mac with Apple Chip"を選択すれば良い。 https://www.docker.com/products/docker-desktop/ dockerもdocker-composeもインストールされた。 % docker -v Docker version 20.10.17, build 100c701 % docker-compose -v Docker Compose version v2.6.1 Dockerイメージの確認よく使うDockerイメージを確認する。公式Debian 11イメージ。 % docker run --name debian -it debian /bin/bash # cat /etc/debian_version 11.4 公式Amazon Linux 2イメージ。 % docker run --name amazonlinux -it amazonlinux /bin/bash # cat /etc/system-release Amazon Linux release 2 (Karoo) 公式PHP 8.0イメージ。 % docker run --name php -it php:8.0 php -v PHP 8.0.22 (cli) (built: Aug 4 2022 23:02:22) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.22, Copyright (c) Zend Technologies 公式MySQL 8.0イメージ。 % docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql % docker exec -it mysql mysql --password=password mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 13 Server version: 8.0.30 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 尚、数か月前にWindowsのDocker DesktopでMySQL 8.0公式イメージから作成したコンテナでは使えていたapt-getが使えなくなっていて気付いたのだが、いつの間にか公式イメージがDebianベースからRHELベースに変わっている。 sh-4.4# cat /etc/redhat-release Red Hat Enterprise Linux release 8.6 (Ootpa) 日本語ロケールへの切り替え方法が異なるため、できればDebianベースのイメージを使いたかったが、残念ながらApple silicon向けはRHELベースしかないようだ。 % docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0-debian Unable to find image 'mysql:8.0-debian' locally 8.0-debian: Pulling from library/mysql docker: no matching manifest for linux/arm64/v8 in the manifest list entries. See 'docker run --help'. どうしてもApple siliconのMacでDebianベースのMySQL公式イメージを使いたい場合は、docker runコマンドで--platform linux/x86_64オプションを指定する等すればエミュレーションでコンテナを動かすことができるが、本稿の趣旨から外れるので詳しくは述べない。 Rosettaが...ここまでRosetta 2をインストールせずに開発環境を構築してきたつもりだった。しかし、念の為アクティビティモニタを確認すると、種類が"Intel"の"CarbonComponentScannerXPC"というプロセスがいることに気付いた。 なんと、これはRosetta 2のプロセスらしい。何の確認もなく、勝手にインストールするなんて...誰だよ。結局ピュアなApple silicon環境はできなかった。Rosetta 2をアンインストールすることもできなくはないようだが、今後も同意なくインストールされないとも限らない。このままMacBook Airを使うことにした。 因みに、Rosetta 2をインストールした張本人かどうかは不明だが、MacBook Airを再起動すると一瞬だけ"OneDriveStandaloneUpdater"と"StandaloneUpdater"というプロセスが種類="Intel"で動いていた。 (2022/08/12) () 各種公式イメージの検証結果を追加。
Copyright© 2004-2022 モバイル開発系(K) All rights reserved.
[Home]
|