こんにちは、ぺい
といいます!IT業界未経験の初心者エンジニアです。早く戦力になれるように日々学習しています。
macを使っているエンジニアの方は必ず使っているパッケージ管理ツールといえばHomebrewですよね!環境構築の際はこれがないと始まらないくらいの必須ツールですが、頻繁に使っていると気づかないうちに調子が悪くなっちゃうようです。自分もpythonの学習環境を整えるためにHomebrewを使って各種ツールをインストールしてましたが、今回それが原因でエラーが出ちゃいました。
1.エラー
ターミナルでbrew doctorを実行したところ、下記のエラーが発生。ちなみにbrew doctorはHomebrewが正常に動作しているかを自動で検証してくれるコマンドです。
$ 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.
よく分からんし、作業に支障をきたすほどの異常は出ていなかったのでしばらく放置してましたが、なんか気持ち悪いので解決策を探すことに…(正確に言えばエラーではなく警告っぽい)
2.解析
調べてみると、結構同じ現象に苦しんでいる方々が多いらしく、いろんな記事に解決方法が書いてありました。
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.
これは、Homebrewコマンドの指定PATH先にconfigファイルが複数あるので、システムが混乱する可能性があるとのことです。で、そのconfigファイルとは何か調べてみると、自分が以前python学習のためにインストールしたpython関係のパッケージ管理ツール等でした。
要するに、Homebrewのコマンドを実行した時に、そのファイルのパスを通っているため、Homebrew君が おれの通り道にいらんファイル置かんでくれ と言ってただけでした。
3.解決策
原因はわかったので、いよいよ解決したいところです。結論、Homebrewが余計なパスを通らないようにHomebrewの環境変数を設定すればいいですね。
そこで、環境変数の設定ができる.zshrcに以下のように記入しました。ちなみに、自分の使っているシェルはzshです。bashを使用されている方も多くいらっしゃるので、まず自分がなんのシェルを使っているか確かめましょう。以下のコマンドで調べてください。
$ echo $SHELL
#zshの場合下記のように表示される
/bin/zsh
#bashの場合下記のように表示される
/bin/bash
自分の使っているシェルがわかったら、環境変数の設定を行います。
zshの場合は .zshrcに記載
bashの場合は .bash_profileに記載
自分はvimで記入しました。
#で一番下に記入
alias brew='PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin brew'
#一番下に記入
alias brew='PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin brew'
以上です。その後、ターミナを再起動してみましょう。
4.確認
$ brew doctor
Your system is ready to brew.
無事うまく行ったようです。
5.最後に
プログラミング学習や業務の際にHomebrewを使って各種パッケージ管理ツールをインストールすることが多いと思いますが、その際にHomebrewの環境がおかしくなる可能性があることを学びました。今回はその解決方法も学べたのでよかったです。
また、今回初めてQiitaに投稿しました。これから初心者エンジニアとして学習を続け、自分が得た知識を共有していこうと思いますので、皆様どうぞよろしくおねがいします。
6.参考記事
- brew doctor したら Warning: "config" scripts exist outside your system or Homebrew directories.と出た時の解決法初心者的理解
- Homebrewのエラー解消日記
-
【zsh, bash】macでPATHを通す方法 - not found と出てしまったら
(https://qiita.com/yutoman027/items/ae11bf22bdbcd645c92a)** - 【Mac】brew doctorコマンドで「Warning: A newer Command Line Tools release is available」と表示されたときに確認すること
- 【M1 Mac】anyenvを入れた環境でbrew doctorしたらWarning: "config" scripts exist outside your system...が出た時の対処法
- .bash_profileと.bashrcのまとめ