M1 mac のセットアップについて、最新版の記事は→Mac mini (2022) M1チップ。 この記事から2年の時を経て、あらゆるアプリが M1 チップにデフォルトで対応しており、セットアップは比較的簡単になっていた。 最新版の記事のやり方で上手くいかなければ、古い方のこちらの記事に何らかのヒントがある、かも?
M1の頃に購入した2015年モデルMacbook Airから、5年ぶりにノートパソコンを買い替えた。 購入したものはMacbook Air(2020) M1チップ搭載モデル、macOS 11 Big Sur、8GBメモリ、256GB SSD。 これはその際の環境構築の自分用メモと動作・不具合報告、および5年分の進化に対する感想。 環境構築の部分に関しては時系列で記してあり、ものによっては上から順にクリアすることが必要。
古いMacbook Airの方の接続を切って、新しい方に接続し直し。 logicool製のマウスを使用しているのでLogicool Optionsもインストール。
こちらのQiitaを参考に、App Storeからインストールする。 Xcode起動後のメニューからこのサイトに飛び、Command Line tools for Xcode 12.3をインストール。
インテルプロセッサー搭載Mac用のアプリを実行するためにRosetta 2が必要。 該当のアプリ(例えばXcode)の起動時にRosettaが必要だというメッセージが出てくるので、インストールボタンをクリックするだけ。
公式サイトによると、12/1リリースのHomebrew 2.6.0からmacOS Big Surに対応したとのこと。 こちらの「対策1」を元に、まずターミナルをRosettaを使用して起動するように設定する。 (このステップにかなり本末転倒の感があるので、おいおい後述の「対策2」のやり方が確立すると良いな、とは思う。) そのあと公式サイトの言うとおり、
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
でインストールできる。
macOS ARMでは/opt/homebrew
へのインストールが要請されているので、数ステップ必要。
こちらそのまんまだが、まとめると
cd /opt
sudo mkdir homebrew
sudo chown -R $USER /opt/homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
cd
echo 'export PATH=/opt/homebrew/bin:$PATH' >> .zshrc
source .zshrc
これでインストールは完了して使えるようになるのだが、僕の場合はroot
のインストールで詰まった。
そのとき返ってきたエラーメッセージいわく、macOS ARMにはまだ対応していないからRosettaを使ってbrew
をインストールしなおしなさい、とのこと。
v.6.22/06がmacOS ARMに対応している。
このバージョンをbrew
でインストール可能。
インストールしたものを動かそうとすると、Command Line tools
がないと怒られる。
原因はパスの情報の食い違いで、そのうちXcode側のアップデートで修正が期待されるが、対症療法としてはこちらにあるとおり(でもこのリンクのコマンド間違ってない?)
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
無事に起動できることを確認。
公式サイトにあるとおり、現行の2020年版はRosetta上での動作を保証、2021年4月にリリース予定の次期バージョンでARMがサポートされるよう。 ここからインストーラーを手に入れてインストールする。
12/11にリリースされたv 4.55がmacOS ARMにも対応している。 動作確認済み。
デフォルトでpython3
を使いたいので、
echo 'alias python=python3' >> ~/.zshrc
source ~/.zshrc
よく使うパッケージnumpy
やmatplotlib
等のインストール。
上記のとおりターミナルをRosettaを使って起動した上で、
sudo pip3 install numpy
sudo pip3 install --upgrade setuptools
sudo pip3 install matplotlib
など。動作確認済み。
この場合、numpy
等のパッケージのビルドの段階でエラーが出て先に進まない。
詳しくはこちらで議論されているとおりで、wheelをマニュアルダウンロードしてきて名前を変更して使うなどの小細工はあれど、根本的な解決法は12/11時点でまだなさそう。
僕の環境では小細工でインストールは完了したが、実行時にエラーが出た。
pip
のアップデートによってmacOS ARMに対応すれば、改善するかも?
ライセンスが新しいコンピューターで利用可能か確認中。
公式サイトから、v1.53.0をインストール。 問題なく動く。 自分のメモを参考にお気に入りのパッケージも揃える。
homebrew
を使って最新版をインストール。
自分のメモを参考にパッケージを導入してLaTeXの入力も可能になる。
環境設定からアカウントを追加し、Googleカレンダーと同期して使っている。
リモートリポジトリからクローンしてくる際に、SSH認証鍵の設定が必要。 こちらを参考に、鍵を作って公開鍵をアカウントと紐付ける。
翻訳ツールのDeepL for Mac、英語の文法チェックツールのGrammarly for Mac
dualboot用にParallels Desktopを使っている。 現在のバージョンではM1チップ搭載のMacに対応していないようで、残念ながらまだ動作させられていない。 新バージョンが鋭意開発中とのこと。
std::mktime
関数の挙動がおかしい。ランダムに数年単位で日付がズレるように見える。