sierra all homebrew brew-doctor

install homebrew macos sierra



Brew doctor: "advertencia: ¿se encontraron archivos de encabezado no preparados en/usr/local/include"? (4)

Cuando ejecuto brew doctor , aparece el siguiente error

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

¿Sería seguro eliminar estos archivos? ¿Cuál es la forma óptima de resolver esta advertencia?


Parece que instaló curl y nodejs sin usar homebrew.

Tienes dos opciones:

  1. No haga nada excepto recordar esto para siempre, de modo que no piense que son de homebrew y se pregunte por qué se queja Homebrew.
  2. Elimínelos e instale nodejs y curl desde homebrew.

1 es el camino fácil, hasta que no lo sea.

Recomiendo el n. ° 2 porque es probable que en el futuro instales algo de homebrew que dependa de curl y / o node, y homebrew intentará instalar esas dependencias. Cuando se construye desde la fuente, se pueden usar encabezados incorrectos y las bibliotecas no coinciden. Esto no es divertido de depurar.

Si esos archivos de encabezado no homebrew están allí por alguna razón y está compilando software con ellos, entonces probablemente pueda volver a colocarlos si los necesita. Si no está creando software con ellos, entonces no los necesita. Continúa y elimínalos por ahora.


Puede omitir las comprobaciones de encabezado parásito para que sea más fácil ver si hay otros problemas además de nodos / npm que no funcionan bien con homebrew

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


Puede ser seguro dejar esos archivos en su lugar a menos que encuentre problemas de compilación o enlace con otras fórmulas de Homebrew; brew doctor producción del brew doctor es asesora, no normativa.

Si no cree que tiene una razón para construir contra las versiones de curl o node en / usr / local, puede eliminar esos archivos de encabezado; Siempre puede reinstalar la versión más reciente más tarde con Homebrew.


¡Esta solución funcionó para mí!

sbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do sudo rm /usr/local/${f}; done sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*