個人的 M1 mac 開発環境状況 2020/11/28更新

公開:2020/11/23
更新:2020/11/29
4 min読了の目安(約3700字TECH技術記事 2

昨日 M1 mac が届いたので早速仕事に使える状況までセットアップしました。
できるだけ Intel アーキテクチャで動くものは入れたくない

開発系

開発環境とかエディタとか

Visual Studio Code

Electron が一応対応したっぽいので VScode insider のダウンロードページに Experimental 版としてdarwin arm native で動くバージョンが配布されています。
https://code.visualstudio.com/insiders/
しかし設定の同期で拡張機能を入れたらクラッシュ、必要最低限にしてもちょいちょいクラッシュするので stable の VScode を Rosetta 2 を通して使っています。
さすがに起動時の遅さが気になるのでやっぱ Experimental 版をメインに使ってます。クラッシュ頻度がなぜか減ったのでたまのクラッシュと付き合っていく

11/28 追記: 2回くらい更新が入ってクラッシュはなくなったイメージ

Android Studio

Rosetta 2 で普通にインストール。エミュレーターが動かないので実行は実機
対応待ち
JBR support for new Apple ARM chips
ちなみに日本語化プラグインも大丈夫だった。

ただ既に対応は進んでおり、JetBtains によるとほぼすべての製品をユニバーサルバイナリに再コンパイルする作業を終え、今月中にアップデートをリリースする予定とのこと

モバイルエンジニアとしては Android emulator がどうなるか気になるところですね。
すでに Qemu が動いてるのでそのうち?

ツイートページのURLを指定してください

Flutter

stable channel で普通に動く。助かる。
cocoapods に問題があったが下記コマンドを実行すれば普通に動くようになる。(pod install がちょっと長いかな?)

arch -x86_64 sudo gem install ffi

詳しくは
Developing with Flutter on Apple Silicon

シミュレーターで動かせないみたいに書いてあるがビルドできた。simulator も x86 から arm になってパフォーマンス上がったっぽい

Homebrew

/opt/homebrew にインストールしろって書いてあるのでそうした。
https://docs.brew.sh/Installation
arm 版 Nodejs が brew 経由だとインストールできなかったので使ってない。

Node.js

上記の通り Rosetta 2 を使わずインストールした brew ではダメだったので
nvm (Node Version Manager)をインストール、nvm ならビルド済みのバイナリがない場合ソースをダウンロードしてきてコンパイルしてくれる。
https://github.com/nvm-sh/nvm

Macports が必要
https://www.macports.org/install.php

sudo port install git curl openssl automake

してから

nvm install v15

する。
コンパイルが始まり。正常にビルドできたらしいので Angular の環境構築してみた。

node が Apple アーキテクチャで実行されているのがわかる。
Version 15 以下は M1 未対応

Golang

Go 詳しくないので darwin-amd64.pkg をダウンロードしてインストールした。
https://golang.org/dl/
Rosetta 2 実行なので普通に動いてる

Google Cloud Platform

Firebase Cli も gcloud も動いてGCFやHostingにデプロイできた。

ツールとか

Chrome

Chrome は正式に M1 対応版がダウンロードできる。特に問題はない。

Slack

ベータ版をインストールしたら Apple アーキテクチャで動いてた。
https://slack.com/intl/ja-jp/beta/mac

Discord

うまく動かなかったのでパブリックβテスト版をインストールしたら動いた。
けど Rosetta 2 で実行されている。

Karabiner-Elements

動く。darwin arm ネイティブ対応。

Alfred

Rosetta 2 で実行。問題なし
universal ビルド版が配布されていたので入れ替えた
https://www.alfredapp.com/universal/

Synergy

Mac ホストで動作確認、Intel アーキテクチャ

Google 日本語入力

開発版を入れてみたが Intel アーキテクチャで動いている

なぜか TweetDeck 上で日本語に切り替わらなかったので使うのをやめた。

Display Menu

App Store からのインストールだが Intel アーキテクチャで動いている。
解像度の変更は問題なし。ドットバイドット表示も問題なし。
なぜ macOS は標準でネイティブ解像度表示ができないのか

TweetDeck

AppStore版、Apple アーキテクチャ、なんでかはわからない。

EOS Webcam Utility

カメラが認識されない。
カメラの問題だったようで色々抜き差ししてたら動きました!!!

Run Cat

動いた。けどCPU使用率を数字で表示したら落ちた。

おまけ、Dinplaylinkを使用した2画面出力

実用足りた

Docker とか動かないんですけどたまにしか使わないし Windows マシンにリモート接続すればいいやって思ってるので mac マシンはもうこれ1台でいいっすわ、って感じです。僕はスマホアプリのビルドが早くなったのですごい満足。Web系は辛いかな?
ただオタクはパソコンいっぱいあるので大丈夫ですけどこれ1台だけってのはまだ無理ですね。駆け出しエンジニアさんが詰みそう

しかし一度 Rosetta 2 のインストールが終わるとあとはシームレスすぎてアクティビティモニタを見ないとどっちで動いてるかわからんくらいですごい

この記事に贈られたバッジ