Warning: “config” scripts exist outside your system or Homebrew directories. brew doctor 時の警告

Mac でのパッケージ管理に Homebrew を使っています。久々に brew doctor を実行したら、表題の Warning が出ました。

スポンサーリンク

Warning: “config” scripts exist outside your system or Homebrew directories.

rbenv, phpenv で各々 Ruby と PHP を管理していて、それ用の PATH を ~/.zshrc に追加しているので、あーそうなるよねと納得。後半部分を訳すと…

「PATHの中に追加の(config)スクリプトがあると、Homebrewでインストールされるソフトウェアを混乱させるかもよ。もし、そのconfigスクリプトが、システムやHomebrewで供給される同じ名前のスクリプトを上書きした場合にはね。」

ということであまり気持ち良くもないので、この Warning を消すべく対策。ぐぐったけど、いまいち良い解決策がなかったので俺流です。

brew コマンド利用時は、上記問題となる passenger-config, php-config のパスを PATH から除外

まずは PATH を確認。

以下のパスが PATH に含まれているのが、問題の原因です。

brew コマンドの場所を確認。

brew コマンドのファイルを確認したところシェルスクリプトなので、このファイル自体に問題のパスを除外した PATH を設定します。

以下のパスを除いた残りを、/usr/local/bin/brew の先頭に PATH として設定します。

brew コマンド実行時には、PATH が以下のように設定されます。

これで brew doctor で Warning が出なくなりました。通常時は ~/.zshrc に設定してある PATH が読み込まれるので、echo $PATH は元の通り。rbenv(ruby), phpenv(php) の利用にも支障がありません。

本当は、brew コマンドをフックして、brew コマンド実行時の直前に PATH を変更するように、~/.zshrc 等に書けるほうがベターだと思いますがやり方を知りません。誰か知っておられたら是非教えて下さい。従って brew コマンドのファイル自体を編集するという、若干アドホックな対処を行いましたが Warning が消えたので良しとしよう。

【追記 2014/09/25】
以下 Qiita のページで書いてある通り、/usr/local/bin/brew を直接編集するよりも、~/.zshrc や ~/.bashrc で brew コマンドの PATH を変更した alias を作成するほうがスマートです。
homebrew – phpenv入れてる時brew doctorしたら出るWarning消した – Qiita
【追記ここまで】

スポンサーリンク
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!