こんにちは。 エキサイト株式会社の三浦です。
最近社用のPCをIntel MacからM1 Macに変えたのですが、その際にいくつか注意したこと・詰まったことがありました。
今回は、それらについて説明していきます。
- M1 Macとは
- M1 Mac用のアプリケーションを使用する
- dockerに platform: linux/amd64 を指定する
- M1 Mac用のライブラリを使用する
- IPv6を使用しない(状況次第)
- 最後に
M1 Macとは
M1 Macは、従来のIntelが開発したCPUではなく、Appleが開発したCPUを搭載したMacのことです。
Intelに比べてさまざまな面でパフォーマンスが良いと言われていますが、一方でM1 Macでしか起きない問題も存在し、移行時に困ったことになる場合もあります。
今回私が移行するにあたって、以下のことに注意したり、詰まったりしました。
M1 Mac用のアプリケーションを使用する
仕事をするにあたり、我々はコミュニケーション用のアプリケーションやコード開発用のアプリケーションなど、さまざまなアプリケーションをPCにインストールしています。
その際、アプリケーションによってはIntel Mac用のアプリケーションとM1 Mac用のアプリケーションで別々に配布されている場合があるので、自分のPCに合った方を選びましょう。
dockerに platform: linux/amd64
を指定する
最近はdockerで開発している人も多いと思いますが、M1 Macで開発する際、Intel Macの設定のままだと場合によってはエラーが出る場合があります。
それがM1 MacのCPUに起因するものであれば、オプションに platform: linux/amd64
をつけると直る場合があります。
M1 Mac用のライブラリを使用する
上記のdockerの件と似ていますが、アプリケーションコードの開発時に使用するライブラリによっては、明示的にM1 Mac用のライブラリを指定しないとエラーが発生する場合があります。
その場合は、M1 Mac用のライブラリを使用するようにしましょう。
IPv6を使用しない(状況次第)
これは状況次第ですが、私のPCでは、おそらく「セキュリティ用アプリケーション + M1 Mac + IPv6」の組み合わせが悪かったようで(本当にその組み合わせが原因だったのかは確定しておらず、現在調査中です)、数十分 ~ 数時間ごとにネットワーク周りに不具合が発生し、再起動しないとまともに仕事ができない状態になっていました。
ネットワーク設定で「IPv6の設定」に「リンクローカルのみ」に指定することで正常に動作するようになりましたが、このようにIntel Macの時には起きなかったような事象が起きる場合もあるので、根気良く原因を調べることも必要になる可能性があります。
最後に
M1 Macは確かにパフォーマンスが良いですが、Intel Macからの移行もかなり大変になる場合があります。
場合によっては、現状で本当にM1 Macが必要かも考えてもいいかもしれません。
この記事で、少しでもM1 Macで悩んでいる人を助けられたら幸いです。