zsh - brew doctorでWarning:"config"~~との奮闘記


#まえがき
はじめまして。figgy puddingと申します。

3か月ほど、iPadでPythonista3を使って勉強、Macに移行後、zshやらbashやらの
てんやわんや時にエラー出まくり事案が発生、右も左も分からないけど、
ジンに会うためにハンターになることを決意したゴンがミトさんに認められて、
ハンター試験の受験資格を得たように、ターミナルシェルが <font color="red">zsh</font> の方へ、
Pythonのインストール後にbrew doctorを行うとWarning: "config"~~ と出た際の解決方法を
同じような方々に届いたら、との思いで投稿しました。bashの解決策はたくさんありますが、
zshがなかなか見つからず苦戦しました。今回はPATHのあとの一文がポイントになり、
解決することができました。目指せドーレ港！

```:zsh
watashi@figgy ~ % brew doctor
Please note that these warnings are just used to help the Homebrew maintainers 
with debugging if you file an issue. If everything you use Homebrew for is 
working fine:please don't worry or file an issue; just ignore this. Thanks!

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew-provided
script of the same name. We found the following "config" scripts:
/Users/watashi/.pyenv/shims/python3.7-config
/Users/watashi/.pyenv/shims/python3.7m-config
/Users/watashi/.pyenv/shims/python-config
/Users/watashi/.pyenv/shims/python3-config
```
Thanks!と書かれてあっても、Warningにしか目が行かない。

無視しても大丈夫やで！ありがとう！と書かれていますが、
やはり1つでも心配事は摘んでおきたいですよね。

#動作環境
・MacBook Air (Retina, 13-inch, 2020)
・Catalina10.15.7（2021/5/24当時。現在はBig Sur11.4です。）
・ターミナルシェル：zsh

#結論
以下のコードを2つ続けて.zshrcに貼り付けたあと、
source ~/.zshrcで反映させ、ターミナルを一旦終了、再度ターミナルを開きます。

```:.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
```

```:.zshrc
alias brew="env PATH=${${PATH/\/Users\/あなたのアカウント名\/\.phpenv\/shims:/}/\/Users\/あなたのアカウント名\/\.pyenv\/shims:/} brew"
```

#方法
###vim ~/.zshrcへ記述
（1）vimへ移動します
<font color="red">__⚠︎__</font> Catalinaから、ターミナルのデフォルトシェルが<font color="1e90ff">__bash__</font>ではなく<font color="red">__zsh__</font>になりました。

```
watashi@figgy % vim ~/.zshrc
```

（2）以下2つを貼り付けます
vimの動かし方は少し特殊なので詳しくは以下のリンクを参考にしていただければと思います。
🔗 [【備忘録】Vimの操作](https://qiita.com/one-a/items/a4e1d5a736d8408fd089)

|コマンド      |動作               |
|:---------:|:-----------------:|
|i          |文字挿入モードに切り替え|
|command + v|貼り付け            |
|esc        |通常モードに切り替え   |
|:wq        |保存、終了          |


```:.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
```

>本題です。

>*-configが複数のディレクトリにあるときは、先程のパターンマッチのnameのところを入れ子にして対処します。


```:.zshrc
alias brew="env PATH=${${PATH/\/Users\/あなたのアカウント名\/\.phpenv\/shims:/}/\/Users\/あなたのアカウント名\/\.pyenv\/shims:/} brew"
```

🔗 [はるぽんぶろぐ様](https://blog.harupon.jp/2016/04/12/warning_many_config/)より
こちらの一文に出合えて大変感謝しております。

```:vimの中身です
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

alias brew="env PATH=${${PATH/\/Users\/watashi\/\.phpenv\/shims:/}/\/Users\/watashi\/\.pyenv\/shims:/} brew"
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
"~/.zshrc" 5L, 198B

```

###記述を反映させる
（3）escを打鍵後、vimを保存・終了します

```python:
:wq #これでvimを保存・終了
```

（4）以下のコードを記述し反映させたあと、ターミナルを終了させます
※ターミナルはＸボタンだけではなく、ターミナルアプリを右クリック
-> 終了を押下して完全終了してください。コードを記述しても反映されなかったためです。

```
source ~/.zshrc
```
（5）ターミナルを再び起動し、brew doctorを行います

```
watashi@figgy % brew doctor
Your system is ready to brew.
```

#原因
HPを見ながらPythonをインストール後、brew doctorを実行するとWarningが表示されたため、
あらゆる方法を試したものの解決に至りませんでした。
Macが未知数なゆえターミナルシェルがzshだと気づくのに1日要し、
ずっとbash_profileを開いて貼り付けていました。。（恥）

（1）前提として、
pyenvを使うにはHomebrewが必要、Homebrewを使うにはXCodeが必要、
XCodeをダウンロードするにはBig Surが必要（なんてこったパンナコッタ状態）。
わたしが使用しているウイルスソフトの関係でBig Surにアップデートが出来ないので、
デベロッパーツールにて該当するOSのCommand line Tools for X Codeをインストール。
（2）pyenvでインストールするとまたWarningが出るのでは、と疑心暗鬼になり、
Homebrewでpyenvをインストール。
（3）これだとpyenv globalでバージョン切り替えが出来ないやないか！と気付き、
HomebrewでPython3をアンインストール。
（4）Homebrewでpyenvをインストール。

```
watashi@figgy % pyenv install 3.8.7
watashi@figgy % pyenv global
watashi@figgy % pyenv versions
```
（5）pyenv globalが反映されておらずPATHを通す。
（6）探しまくったのち、ブログにたどり着きようやく解決。夜中に小躍り。

#あとがき
ここまでお読みいただきありがとうございました。
自分の描いた絵を載せられるサイトがあったらなぁと思って始めたプログラミングの
奥深さに驚嘆、まだまだ道のりは長いですがいつか日の目を見られることを信じて邁進。

参考にさせていただいた方々や、
経緯が長すぎて記載出来なかった、Python・pyenv・Homebrew・XCode等々の
URLはすべて下記に記載しています。ありがとうございました。

#追記（2021/12/29）
brew doctorを実行したら久しぶりにWarning！が表示されたので共有できればと思います。

```zsh
watashi@figgy ~ % brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unknown support status
```

調べてもこちらの解決方法が見つからず、、
直近で、何かいじったっけロー入っちゃってもう、、と考えられるのは、
PATHをXCode.appに変更後、コマンドラインツールに切り替えていない！！！！！！！！！
すでにXCode.appが存在していないので、UnKnownと表示されたんですね。

```
watshi@figgy ~ % brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unknown support status
watshi@figgy ~ % xcode-select --print-path #PATHを確認する
/Volumes/HDD/Contents/Developer #HDDのまま
watshi@figgy ~ % sudo xcode-select --switch /Library/Developer/CommandLineTools/ #コマンドラインツールに切り替える
Password:
watshi@figgy ~ % xcode-select --print-path
/Library/Developer/CommandLineTools #PATHが変更された
watshi@figgy ~ % brew doctor
Your system is ready to brew.
```



🔗 [Command Line Toolsに切り替える方法【ターミナル編】](https://sutepulu.com/how-to-switch-command-line-tools/)
ありがとうございました。

#参考 - 多大なる感謝とともに
🔗 [はるぽんぶろぐ](https://blog.harupon.jp/2016/04/12/warning_many_config/)
🔗 [MacOSとHomebrewとpyenvで快適python環境を。]
(https://qiita.com/crankcube/items/15f06b32ec56736fc43a)
🔗 [brew doctorの*-configに関するwarningを解決する]
(https://qiita.com/snow_rain000/items/b5479127acbfc5166d66)
🔗 [brew doctor したら Warning: "config" scripts exist outside your system or Homebrew directories.と出た時の解決法初心者的理解]
(https://qiita.com/yutoman027/items/ae11bf22bdbcd645c92a)
🔗 [zsh 環境で pyenv global 3.7.4 に設定しても反映されない]
(https://ja.stackoverflow.com/questions/59764/zsh-%E7%92%B0%E5%A2%83%E3%81%A7-pyenv-global-3-7-4-%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%82%82%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84)
🔗 [【Mac】隠しファイル・隠しフォルダを表示する方法]
(https://qiita.com/TsukasaHasegawa/items/fa8e783a556dc1a08f51)

🔗 [公式Pythonのアンインストール方法]
(https://oversleptabit.com/archives/2142#toc4)
　-> <font color="red">※ .bash_profileではなく、.zshrcをクリック→PATHの項目を削除</font>
🔗 [「Python.framework」フォルダを全て削除する]
(https://code-graffiti.com/how-to-uninstall-official-python3-on-mac/)
🔗 [Anacondaをアンインストール①]
(https://qiita.com/craymaru/items/19343163467101f13b58)
🔗 [Anacondaをアンインストール①]
(https://weblabo.oscasierra.net/python-anaconda-uninstall-macos/)

🔗 [Homebrew（公式）]
(https://brew.sh/index_ja)
🔗 [Homebrewでのインストール方法①]
(https://www.python.jp/install/macos/install_python.html)
🔗 [Homebrewでのインストール方法②]
(https://watlab-blog.com/2020/06/19/mac-python-install/#1250312522124521253112473124881254012523Python1239812496125401247212519125313090635469)
🔗 [HomebrewでPythonのアンインストール方法]
(https://shikaku-mafia.com/python-uninstall/#toc1)
🔗 [pyenv アンインストール方法]
(https://note.com/papa_jpk/n/nd1639dddf7ad)
🔗 [pyenvを使用してPythonをインストールする方法]
(https://qiita.com/crankcube/items/15f06b32ec56736fc43a)

🔗 [zshの初期設定方法(初心者向け)](https://qiita.com/sinnyuu_alter/items/e85401d591a98c56431a) -> <font color="red">vim ~/.zshrcを教えてくれたところです。</font>
🔗 [Vimの操作]
(https://qiita.com/one-a/items/a4e1d5a736d8408fd089)
🔗 [ターミナルからのインストール [Command Line Tools for Xcode編]]
(https://lunalunadesign.net/2020/06/835/)