前提・実現したいこと
brew doctor を叩いたところ以下の警告が出ました。
発生している問題・エラーメッセージ
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 which 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: /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7-config /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7m-config /Library/Frameworks/Python.framework/Versions/3.7/bin/python3-config
試したこと
ネットで検索しましたがシンプルな解決策なためよくわかりませんでした。
ちなみに、初心者ですので分かりやすく教えてくれると大変助かります。
補足情報(FW/ツールのバージョンなど)
環境:MacBookAir2017
homebrew 2.7.1
/Library/Frameworks/Python.framework に homebrew を使わずに入れた python があると言ってますね。たまにそれを参照するものがあったりするようですが、警告だし、実際に問題がなければ構わないのでは…。
ネットで調べて下記コマンドを実行しbrew doctorをすると警告はなくなるのですが、
ターミナルを再起動しbrew doctorをするとまた警告が出てきてしまいます。
下記にコマンドは一時的なものなのでしょうか?
すいませんどうしても気がかりなもので、、、わかる方いれば教えてください。
、、、
alias brew='PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin brew'
、、、
えっと、echo $PATH すると何が表示されますか?
<警告が出る状態のパス>
、、、
/usr/local/opt/mysql@5.7/bin:/usr/local/opt/mysql@5.7/bin:/usr/local/opt/mysql@5.7/bin:/Users/yoshidayuuta/.nodebrew/current/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
、、、
<警告が出ない状態でのパス>
、、、
/usr/local/opt/mysql@5.7/bin:/usr/local/opt/mysql@5.7/bin:/usr/local/opt/mysql@5.7/bin:/Users/yoshidayuuta/.nodebrew/current/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
、、、
変わりがないように見えるのですが、コピペ間違いの心配はありません。
なるほど。まず、alias brew='PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin brew' ですが、brew を実行した時に一時的に PATH を書き換えて brew を実行するようにするものです。また、これはそのターミナルでのみ有効なので、ターミナルを再起動した時にも有効にしたければシェルの設定ファイル (.bashrc または .zshrc など) に書く必要があります。
ただし、brew コマンドを実行する時だけ PATH をいじることに意味があるとは思えませんので、これをシェルの設定ファイルに書くことはお勧めしません。
根本的な問題は、PATH に /Library/Frameworks/Python.framework/Versions/3.7/bin が入ってることです。これは homebrew を使わずに入れた python 3.7 があり、それを使うための設定になってるということですが、この python 3.7 は使ってますか? 使ってないなら PATH から取り除けばいいと思います。(他にも、/usr/local/opt/mysql@5.7/bin が 3 つも重複してるのは意味ないし…。)
方法については使ってるシェルの種類によりますので、まずお使いのシェルを教えてください。方法は echo $SHELL です。
<この python 3.7 は使ってますか?>
今は使っていませんが、今勉強中で今後使う予定です。
また、普通ならどこに入れておくべきですか?
<まずお使いのシェルを教えてください。>
bashを使っています。
よろしくお願い致します!
/Library/Frameworks/Python.framework に入るってことは公式のインストーラで入れたものと思いますが、使う予定があるならそのままでもいいと思いつつ、python は homebrew や pyenv など他にも入れる方法がありまして…。
bash の主な設定ファイルは .bashrc と .bash_profile です。たぶんこのどちらかに
export PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:$PATH"
とか、
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
が 3 つとか書いてあると思います。不要なものは削除するか、行の先頭に # (半角シャープ) をつけてコメントアウトすればいいのですが、編集方法はお分かりでしょうか?
<python>
近々、使う予定がないので一旦アンインストールします。
よろしければ、アンインストールの仕方も教えていただければ、、
<mysql>
普通はMySQLがパスに入ること自体変ですか?
変であれば、削除したいです。
編集方法は分かりません、、
注文が多くてすみません、、
python アンインストール
・アプリケーションフォルダに Python があれば、消します。
・/Library/Frameworks/Python.framework は Finder から消せるのかな?
駄目ならターミナルで sudo rm -rf /Library/Frameworks/Python.framework
(sudo を間違って使うと余計なものまで消しちゃう場合があるのでご注意を。)
https://docs.python.org/3/using/mac.html
mysql
brew install mysql@5.7 したってことですよね。その場合、PATH に /usr/local/opt/mysql@5.7/bin が 1 つは必要なのですが、3 つは必要ありません。たぶんシェルの設定に同じものが 3 つ重複してると思うので、1 つを残して他は消していいと思います。
(たぶん PATH の意味もよくお分かりでないと思うので、ちゃんとシェルの勉強をされたほうがいいかなと思いつつ…。)
長々とありがとうございました。
もう少し勉強してから出直します。
ただ説明はとても分かりやすく勉強になりました。
また何かあればよろしくお願い致します。
あなたの回答
tips
プレビュー