【M1Mac】パスを通そうと思ったらドツボにハマったので備忘録【Homebrew・MySQL】


何にハマったか

MySQLのインストール(より詳細にはmysql-client@5.7のインストール)をbrewでして、いつもどおりパスを通そうと思ったら中々通らなかった。

この記事を読むと何がわかるか

  • M1 Mac環境でのパスの通し方。(Intel Macを使っていた人要注意)
  • M1 Mac環境で、mysqlコマンドの実行方法・パスの通し方。

ドツボにはまる経緯

このリンクの記事を始めとした、様々な技術記事で書かれているようにパスを通そうと試みた。

具体的には以下のような方法です。

1. ~/.bashprofileの変更

いつも通り、.bash_profileを変更します。

% echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile

2. パスを通したあとの細かい作業

シェルの変更を保存して、シェルを再起動します。

% source .bash_profile
% exec $SHELL -l

3. パスが通っているか試す

もちろん、mysql-clientが使えるようになっているはずです!

% mysql -V
zsh: command not found: mysql

…悲しくなりました…なぜMySQLは私のことが嫌いなの…

ドツボにはまった原因と解決方法

1. M1 Macのターミナルは標準がzsh

M1 Macのターミナルでは標準でzshが使用されているので、.bash_profileではなく.zshrcや.zprofileを変更します。(すでに存在している方を変更します)

実はこれで躓くの2回目です…悲しい…正しくは以下のように実行します。

)
% echo 'export PATH="$PATH:/usr/local/opt/[email protected]/bin"' >> ~/.bash_profile
正)
% echo 'export PATH="$PATH:/usr/local/opt/[email protected]/bin"' >> ~/.zprofile

2. mysql-clientが保存されているパスが違う

技術記事を鵜呑みにして、パスを同じにしておりました。

brewでinstallしたパッケージのパスは以下のように検索します

% brew --prefix "検索したいパッケージの名前")
% brew --prefix [email protected]
/opt/homebrew/opt/[email protected]

3. 結論

以上のハマったポイントから、実際に実行すべきコマンドは以下のようになります。

% brew --prefix [email protected]
/opt/homebrew/opt/[email protected]
% echo 'export PATH="$PATH:/usr/local/opt/[email protected]/bin"' >> ~/.zprofile
% source .zprofile
% exec $SHELL -l

すると…

% mysql -V
mysql  Ver 14.14 Distrib 5.7.34, for osx10.17 (x86_64) using  EditLine wrapper

やったーーー!!! MySQLは私のこと嫌いじゃなかったのね!!!

反省

M1 Macでの開発の際は、Macでの開発記事を鵜呑みにしないようにしましょう!(当たり前すぎて悲しい)

→ M1 Macの開発記事が増えるように、私も願っております。