homebrew - qué - pares enlazantes
“Barriles no enlazados en tu bodega”. ¿Cómo los elimino? (7)
Después de instalar y desinstalar algunos programas a través de brew
and brew cask
, ahora recibo a brew doctor
diciendo "barriles desenlazados en tu bodega".
Sugiere vincularlos para evitar problemas de compilación con versiones posteriores, pero en lugar de eso prefiero eliminarlas, ya que son restos de programas o fórmulas que ya no utilizo.
¿Cómo o dónde los quito? (Ni siquiera sé qué es un barril, o la bodega)
brew prune [--dry-run]: elimina los enlaces simbólicos muertos del prefijo Homebrew. Esto generalmente no es necesario, pero puede ser útil cuando se hacen instalaciones de bricolaje. También elimine los enlaces simbólicos de aplicaciones rotos de / Aplicaciones y ~ / Aplicaciones que fueron creadas previamente por brew linkapps.
Si se pasa --dry-run o -n, muestre lo que se eliminaría, pero en realidad no elimine nada.
Después de instalar Homebrew en Mac tuve el siguiente error:
$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don''t worry or file an issue; just ignore this. Thanks!
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
libtool
libksba
libyaml
libgpg-error
Después de ejecutar brew link libtool
obtendría el siguiente error:
$ brew link libtool
Linking /usr/local/Cellar/libtool/2.4.6_1...
Error: Could not symlink include/libltdl
/usr/local/include is not writable.
Pero resultó que no tenía una carpeta /usr/local/include
en absoluto. Así que lo creé. Y luego cambió el propietario y el grupo de la nueva carpeta para que coincida con las otras carpetas en /usr/local
. El siguiente error fue el mismo para /usr/local/lib
, así que seguí el mismo proceso.
Después de crear esas dos carpetas, brew link [package]
funcionó.
Aclamaciones. Appleseed.
Ejecute: brew remove packageName
para cada paquete no vinculado.
También puede utilizar la información proporcionada desde la consola y vincularlos de nuevo:
Run `brew link`
Haga esto para cada elemento enumerado, y todo debería arreglarse pronto.
ejecutar brew link
mostrará los comandos opcionales que puede usar, junto con el que necesitará un argumento que lo acompañe o le indicará un error que dice eso.
por lo que sugeriría correr:
-
brew doctor
Esto te dará la
''Advertencia: Tienes barriles desenlazados en tu bodega ...''
mensaje
debajo de este mensaje, indicará qué barriles hay con el problema potencial. Mi advertencia personal fue:
Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run `brew link` on these: mongodb
-
brew link
lee tus opciones, para que entiendas lo que está sucediendo con este comando. -
brew link --dry-run <yourArgument>
Homebrew listará todos los archivos que estarían vinculados o que serían eliminados por brew link --overwrite, pero en realidad no vincularán ni eliminarán ningún archivo. -
brew link --overwrite <yourArgument>
Esto ejecutará lo que hizo el funcionamiento en seco, de verdad esta vez.
Mi experiencia con esto fue:
cli cmnd:brew link --overwrite mongodb
Respuesta de cli:Linking /usr/local/Cellar/mongodb/3.2.7... 0 symlinks created
-
brew doctor
Finalmente ejecuté este comando y mi respuesta ya no tenía problemas.
Respuesta:Your system is ready to brew.
Me imagino que o bien hará el enlace o si no hay ninguno que se borre simplemente el archivo; que era una solución anterior (esto parece seguir las indicaciones de brew cli frente a "romper" el problema con un martillo).¡Espero que esto te ayude!
- No llores por el código derramado, sigue apoyando a la comunidad.
Actualización 2018
$ brew link --help
If --overwrite is passed, Homebrew will delete files which already exist
in the prefix while linking.
$ brew link --overwrite [package]
$ brew doctor
rm /usr/local/Library/Taps/josegonzalez
-o si estas asustado-
mv /usr/local/Library/Taps/josegonzalez /usr/local/Library
Igual para otros barriles / grifos conflictivos, pero desvinculados .