Brew医生 - "警告:在/ usr/local/include中找到未编号的头文件"?

Pre*_*fix 71 homebrew brew-doctor

当我运行时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
Run Code Online (Sandbox Code Playgroud)

删除这些文件会安全吗?解决此警告的最佳方法是什么?

jrw*_*ren 71

看起来你没有使用自制软件就安装了curl和nodejs.

您有两种选择:

  1. 什么都不做,除了永远记住这一点,所以你不认为他们是自制的,并想知道为什么自制软件抱怨.
  2. 删除它们并从自制程序安装nodejs和curl.

1是简单的方法,直到它不是.

我推荐#2,因为它很可能在将来你会安装自制的东西,这取决于curl和/或节点,homebrew会尝试安装这些依赖项.从源代码构建时,可能会使用错误的标头并链接不匹配的库.这对调试来说并不好玩.

如果那些非自制文件头文件出于某种原因并且您正在使用它们编译软件,那么您可能会在需要时将它们放回原处.如果您没有使用它们构建软件,那么您不需要它们.继续,暂时删除它们.


小智 5

您可以跳过流浪头检查,以便更轻松地查看是否存在除节点/ npm以外的其他问题,以及自制软件不能很好地发挥作用

brew doctor `brew doctor --list-checks | grep -v stray_headers`
Run Code Online (Sandbox Code Playgroud)