banner
JackYoung

JackYoung

生活、摄影、写作、代码。
github
bilibili
email

M1上の問題点

イントロダクション#

私の手元の M1 Pro はもう 1 年近く使っています。普段は仕事や勉強、写真編集に使っていますが、たまに開発もします。現在は Mac のヘビーユーザーです。ここでは私が遭遇したいくつかの問題をまとめてみました。もし同じような問題に遭遇した人がいれば、少しのヒントになればと思います。

Brew 環境#

最初に使っていた Mac は 2019 年の Air で、x86 アーキテクチャでした。その Mac にはbrewをインストールしていました。後に M1 を受け取った時、データを移行したくて待ちきれずにやってみたのですが、困ってしまいました。多くのソフトウェアが Apple 版を再ダウンロードする必要があったり、Rosettaをインストールする必要があったりしました。一番困ったのはbrewが直接使えなくなったことで、元のインストール場所が見つからず、アンインストールもできなかったのです。公式のワンクリックインストールもうまくいかなかったのですが、ある方の知恵袋で良い解決策を見つけました。それはコマンドラインで解決できるもので、こちらを参考にしました。

Django と MySQL の接続#

最近は Django を学んでいます。私は Docker 版の MySQL を使用することを好みますが、settings.pyを設定し、mysqlclientをインストールした後、runserverを実行すると、次のようなエラーが発生しました。

最初はこのエラーを ChatGPT に尋ねましたが、GPT はバージョンの不一致が原因だと教えてくれました。MySQL のバージョンとmysqlclientのバージョンを一致させるようにと言われたので、最新版をインストールしましたが、エラーは変わりませんでした。GPT も同じ回答でした。
その後、PyMySQLの issue で解決策を見つけました。主な問題は MySQL とmysqlclientの ARM バージョンにまだ問題があるため、x86 バージョンをインストールする必要があるということでした。

  • まず、x86 バージョンのbrewを再インストールする必要があります。
arch -x86_64 zsh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 元々の ARM 版のbrewのインストール場所はデフォルトで/opt/homebrew/bin/brewです。
  • インストールスクリプトの実行が完了すると、手動で 2 つのコマンドを実行するように促されます。現在使用しているbrewの場所を変更してください。
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/youngjack/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
  • これでwhich brewを実行すると、新しくインストールされた x86 brew/usr/local/bin/brewにあることがわかります。
  • ARM 版に戻したい場合は、手動で実行するコマンドのbrewの場所を ARM バージョンの場所に変更してください。
  • 注意:x86 brew を使用するには、すでに Rosetta がインストールされている必要があります。
  • 次に、python環境でmysqlclientを再インストールし、brewで MySQL を再インストールします。
brew install mysql
pip uninstall mysqlclient -y
pip install mysqlclient --no-cache-dir
  • Django を再起動し、問題が解決しました!

ソフトウェアのインストール時に破損して使用できない場合#

なぜこのようなメッセージが表示されるのかは、おそらくクラックされたソフトウェア(貧乏なのでソフトウェアを買えません)のせいです。
次のコマンドを使用することができます。

sudo xattr -r -d com.apple.quarantine <app>
sudo codesign --sign - --force --deep <app>

その後、セキュリティ設定でソフトウェアを許可するように設定されている場合は、許可をクリックしてください。

Pulse Secure#

仕事の関係で Pulse Secure の VPN 接続を使用する必要がありますが、ここで冷たい水をかける必要があります。現時点では、Pulse Secure クライアントを常に無料で提供している場所はありません。一般的には会社内で提供されていますが、ほとんどは Windows 版です。現在利用できるダウンロードリンクを見つけましたが、いつリンクが無効になるかわかりません。

ソフトウェアのおすすめ#

  • Excalidrawは、オープンソースの図形描画ソフトウェアで、筆記のようなストロークをシミュレートすることができます。また、複数人での共同作業も可能です。Chrome でオンライン版をインストールして使用することをおすすめします。
  • RunCatは、画面上部に表示されるかわいい猫で、リソースを監視します。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。