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:
- 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.
- 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.*