macOSをcatalinaの環境下でphpをデフォルトからMAMPへ~/.bash_profileでPATHを通し切り替えを行ってもターミナル再起動後反映しなかったので解決方法をまとめました。
#結 論
catalinaにOSをアップデートするとデフォルトシェルが「bach」から「zsh」へ変更になり、デフォルトのphpをMAMPのphpに切り替え~/.bash_profileに設定してもターミナル再起動後はPATHは通らない。
シェルを【bash】に切り替えればターミナルを再起動しても設定したものが反映される。
###環境
- macOS 10.15 (catalina)
- MAMP version5.5
######今までの.bash_profileへの設定方法
基本的な操作は下記の記事参照
https://qiita.com/kurosu93/items/6cf23669d718fc6e0adb
##一連の流れに沿っても.bash_profileを書き換えてもcatalina以降シェルが【zsh】のままだとPATHが通らない
今までのmacOSのデフォルトシェルは【bach】だったので上記の記事の通りに**.bash_profileへ設定してあげればPATHが反映しましたがcatalina**からデフォルトのシェルがzshになってしまったので.bash_profileへPATHを設定すれば一時的には反映はしますが、
ターミナルを再起動するとPATHはうまく反映しなくなる
再起動後のターミナルでPATHの確認
# php -v
-bash: php: command not found
上記のようにターミナル再起動後はPATHが見つからないor元に戻るなど設定したものが反映しなくなる
(phpをMAMP切り替えたいのに…)
####解決方法 シェルを【zsh】から【bash】へ切り替える
シェルの切り替え方法は下記の記事参照
catalinaでMAMPのパスを変更したい場合は
1 シェルを【zsh】から【bach】に変更する
2 シェル変更後に~/.bash_profileのPATHを書き換える
上記の順番で設定するとパスが通るようになります
##なぜシェルが【zsh】だと~/.bash_profileへ反映しないのか?
それはそもそも.bash_profileはシェルがbash用の設定ファイルだから。
.bach_profileはbach用のシェルスクリプトなので設定されているシェルがzshなのでどんなに設定しても再起動するとシェルがzshに戻ってしまい何度やってもbashのPATHは読み込まれないようです。
####どうしてcatalinaからシェルがzshに変わったのか興味がある人は下記の記事を参考にしてください
(どうやらライセンスの関係のようです)
参考記事