うに.log

作業した内容のまとめとか読んだ本のまとめとか。間違っていることがあったらツッコミとかがもらえるといいなぁという願望のもと、とりあえずやったこと、調べたこと、理解していることしていないことをだらだら書いていく。勉強用のブログ。

M1 MacBook Air で .NET 5 を使う

本記事執筆時点で .NET 5 は Apple Silicon に対応していない*1ので、利用する場合は x64 版を Rosetta2 で変換した上で使うことになります。

インストール方法

ここから対応するインストーラーを取得してインストール。

手動で導入したい場合はバイナリを配置してPATHの指定、になるのかな。

自分は Linux 系に疎いのでとりあえずインストーラーで雑にインストール。バージョンは現時点で最新の5.0.101。

動かしてみる

まずインストールできていることを確認するためにターミナルを起動して dotnet コマンドを叩いてみる

% dotnet --version
5.0.101

正常にインストールできてそう。

後は Apple Silicon 上で動くかどうかを軽く確認したいのでコンソールアプリケーションを作ってみる。

% dotnet new console -n test
なんやかんや出力
% dotnet run
Hello World!

問題なく動きました。

ビルド結果に対して Rosetta2 の変換がかまされるんで実行結果が表示されるまでには流石に多少時間がかかりますね。

そこそこのプロジェクトサイズになった時にどうなるかもみてみたいので今度別途試してみましょうか。

Windows ユーザーの私が M1 MacBook Air を買って最初にしたこと

Big Sur になって起動音が復活したのが邪魔なのでとりあえず排除。

システム環境設定 > サウンド
起動時にサウンドを再生のチェックを外す

普段Windowsを使用していてキー長押し時の挙動に違和感しかないので調整

システム環境設定 > キーボード
キーのリピートとリピート入力開始までの時間を調整。
ファンクションキー押下時の挙動を変更。

f:id:unirun:20201211011404p:plain
キーボード周りの挙動設定
<

トラックパッドをタップしたらクリック扱いになるよう変更

システム環境設定  > トラックパッド
タップでクリックにチェックを入れる

Xcode をインストール

ARM 版 Google Chrome をインストール & Dock に追加

Safari を Dock から削除*1

とりあえず時間がないのでこれだけやった。

後は .NET 5 入れたりとかしたいけど .NET 5 の ARM 版ってあるんだったっけ?ってところから。

追記

外観モードは最初ダークモードにしてたけど標準外のツールで文字が読めなくなったりしたのでライトモードにした。

変える機構を用意してくれるだけでいいのになんで勝手にOS側で独善的に変えてしまうのか。

*1:async/await が使えないレガシーブラウザなので

M1 MacBook Air(2020) に homebrew をインストールする

公式サイトを見に行くと M1 Mac でのインストール方法が書かれている。

これによると ARM な Mac では /opt/homebrew にインストールすることが推奨されている。

そこで以下のコマンドを実行してインストールを行なった

cd /opt
sudo mkdir homebrew
sudo chown ${USER}:staff homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew 

これだけだとPATHが通っておらず使えないのでPATHを通す。

echo /opt/homebrew/bin > /etc/paths.d/homebrew

Mac というか Linux のお作法がほとんどわかっていないので間違っている箇所があったら教えて欲しい。