web-dev-qa-db-ja.com

ブリュードクター-「警告:醸造されていないヘッダーファイルが/ usr / local / includeで見つかりましたか?」

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

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

70
Prefix

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

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

  1. これを永遠に覚えておく以外は何もしないでください。そうすれば、あなたは彼らがhomebrewから来たとは思わず、homebrewが不平を言っているのか不思議に思うでしょう。
  2. それらを削除し、homejsからnodejsとcurlをインストールします。

1は簡単な方法ですが、そうでない場合があります。

#2をお勧めします。将来的には、curlやnodeに依存するhomebrewから何かをインストールし、homebrewはそれらの依存関係をインストールしようとする可能性が高いからです。ソースからビルドする場合、間違ったヘッダーが使用され、ライブラリがリンクされないことがあります。これはデバッグするのは面白くありません。

これらの非自作のヘッダーファイルが何らかの理由で存在し、それらを使用してソフトウェアをコンパイルしている場合、必要な場合はおそらく元に戻すことができます。それらを使用してソフトウェアを構築していない場合、それらは必要ありません。とりあえず削除してください。

70
jrwren

Node/npmがhomebrewでうまく再生されない以外の問題があるかどうかを簡単に確認できるように、浮遊ヘッダーチェックをスキップできます。

brew doctor `brew doctor --list-checks | grep -v stray_headers`
5
testuser

他のHomebrewフォーミュラでビルドまたはリンクの問題が発生しない限り、これらのファイルをそのまま残しても安全です。 brew doctor出力は勧告であり、標準ではありません。

/ usr/localのcurlまたはnodeのバージョンに対してビルドする理由がないと思われる場合は、それらのヘッダーファイルを削除できます。 Homebrewを使用すると、いつでも最新バージョンを再インストールできます。

2
Tim Smith