1. ホーム
  2. homebrew

[解決済み] Brew doctor - "warning: unbrewed header files were found in /usr/local/include"?

2023-03-23 18:26:29

質問

を実行すると brew doctor を実行すると、次のようなエラーが発生します。

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
    /usr/local/include/curl/curl.h
    /usr/local/include/curl/curlbuild.h
    /usr/local/include/curl/curlrules.h
    /usr/local/include/curl/curlver.h
    /usr/local/include/curl/easy.h
    /usr/local/include/curl/mprintf.h
    /usr/local/include/curl/multi.h
    /usr/local/include/curl/stdcheaders.h
    /usr/local/include/curl/typecheck-gcc.h
    /usr/local/include/node/ares.h
    /usr/local/include/node/ares_version.h
    /usr/local/include/node/nameser.h
    /usr/local/include/node/node.h
    /usr/local/include/node/node_buffer.h
    /usr/local/include/node/node_internals.h
    /usr/local/include/node/node_object_wrap.h
    /usr/local/include/node/node_version.h
    /usr/local/include/node/openssl/opensslconf.h
    /usr/local/include/node/uv-private/ngx-queue.h
    /usr/local/include/node/uv-private/stdint-msvc2008.h
    /usr/local/include/node/uv-private/tree.h
    /usr/local/include/node/uv-private/uv-bsd.h
    /usr/local/include/node/uv-private/uv-darwin.h
    /usr/local/include/node/uv-private/uv-linux.h
    /usr/local/include/node/uv-private/uv-sunos.h
    /usr/local/include/node/uv-private/uv-unix.h
    /usr/local/include/node/uv-private/uv-win.h
    /usr/local/include/node/uv.h
    /usr/local/include/node/v8-debug.h
    /usr/local/include/node/v8-preparser.h
    /usr/local/include/node/v8-profiler.h
    /usr/local/include/node/v8-testing.h
    /usr/local/include/node/v8.h
    /usr/local/include/node/v8stdint.h
    /usr/local/include/node/zconf.h
    /usr/local/include/node/zlib.h

これらのファイルを削除しても安全でしょうか?この警告を解決する最適な方法は何でしょうか?

どのように解決するのですか?

homebrewを使わずにcurlとnodejsをインストールしたようです。

2つのオプションがあります。

  1. これを永遠に覚えておく以外は何もしない。そうすれば、それらが homebrew からのものだと思ったり、なぜ homebrew が文句を言っているのかと思ったりすることはないでしょう。
  2. それらを削除し、homebrew から nodejs と curl をインストールします。

1は簡単な方法です、そうでないときまでは。

私が 2 を推奨するのは、将来的に curl や node に依存するものを homebrew からインストールする可能性があり、homebrew がそれらの依存関係をインストールしようとするためです。ソースからビルドする場合、間違ったヘッダが使われたり、不一致のライブラリがリンクされたりすることがあります。これはデバッグするのが楽しいものではありません。

もしそれらの非 homebrew ヘッダーファイルが理由があって存在し、それらを使ってソフトウェアをコンパイルしているなら、おそらく必要ならそれらを戻すことができます。それらを使ってソフトウェアを構築していないのであれば、それらは必要ありません。今は削除してください。