何にハマったか
MySQLのインストール(より詳細にはmysql-client@5.7のインストール)をbrewでして、いつもどおりパスを通そうと思ったら中々通らなかった。
この記事を読むと何がわかるか
- M1 Mac環境でのパスの通し方。(Intel Macを使っていた人要注意)
- M1 Mac環境で、mysqlコマンドの実行方法・パスの通し方。
ドツボにはまった経緯
このリンクの記事を始めとした、様々な技術記事で書かれているようにパスを通そうと試みた。
具体的には以下のような方法です。
1. ~/.bashprofileの変更
いつも通り、.bash_profileを変更します。
% echo 'export PATH="/usr/local/opt/mysql-client@5.7/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/mysql-client@5.7/bin"' >> ~/.bash_profile
正)
% echo 'export PATH="$PATH:/usr/local/opt/mysql-client@5.7/bin"' >> ~/.zprofile
2. mysql-clientが保存されているパスが違う
技術記事を鵜呑みにして、パスを同じにしておりました。
brewでinstallしたパッケージのパスは以下のように検索します
% brew --prefix "検索したいパッケージの名前"
例)
% brew --prefix mysql-client@5.7
/opt/homebrew/opt/mysql-client@5.7
3. 結論
以上のハマったポイントから、実際に実行すべきコマンドは以下のようになります。
% brew --prefix mysql-client@5.7
/opt/homebrew/opt/mysql-client@5.7
% echo 'export PATH="$PATH:/usr/local/opt/mysql-client@5.7/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の開発記事が増えるように、私も願っております。