67 votos

Es allí una manera rápida de volver a vincular mi homebrew barriles?

Acabo de actualizar mi MacBook Air a Mavericks. El proceso parece haberse retirado casi todos los enlaces simbólicos que homebrew pone en /usr/local/bin. Como veo las cosas que faltan, a continuación, me vuelve a vincular a ellos a través de brew unlink <keg> && brew link <keg> (aunque los enlaces simbólicos se han ido, homebrew todavía piensa que ellos están allí, así que necesito a unlink en primer lugar). Esto se siente un poco ineficiente.

Yo sólo podía bucle a través de todo lo en /usr/local/Cellar pero no cada barril se vincula automáticamente y no quiero vínculo de aquellos. Así que mi siguiente conjetura es una lista con todos los vinculados barril y volver a vincular (usando la de arriba).

Hay un poco de magia de comandos que se encuentran todos los barriles que homebrew piensa que están vinculados de manera que yo pueda volver a vincularlos?

72voto

Julien Chastang Puntos 161

Este comando bash (tomado de allí) se va a desvincular todas las fórmulas y el enlace de nuevo:

brew list -1 | while read line; do brew unlink $line; brew link $line; done

Supongo que todas las fórmulas necesarias para vincularse, de lo contrario, la herramienta es dependía de ellos tendría problemas para encontrarlos.

42voto

mike__t Puntos 374

/usr/local/Library/LinkedKegs parece contener una lista de, bueno, vinculado barriles, por lo que este debe hacer el truco:

ls -1 /usr/local/Library/LinkedKegs | while read line; do
    echo $line
    brew unlink $line
    brew link --force $line
done

Me gustaría recomendar asegurar que tiene permisos de escritura a /usr/local/lib de nuevo antes de intentar esto.

9voto

wullxz Puntos 1561

Además de las otras respuestas a esta pregunta, usted también puede necesitar para volver a vincular fórmula con varias versiones instaladas (brew link no va a hacer esto para usted).

En primer lugar, volver a vincular todas las fórmulas que se puede:

brew list -1 | while read line; do brew unlink $line; brew link --force $line; done

A continuación, ejecute brew doctor, que deberían quejarse y dar dos listas:

  • Desvinculado de fórmulas con varias versiones
  • Barril-sólo fórmulas que han sido incorrectamente enlace por el original de volver a vincular a proceso.

Para cada fórmula con varias versiones ejecute el siguiente, en sustitución de "python" con la fórmula de nombre de:

brew info python  

Esto le mostrará, entre otra información, todas las versiones instaladas. Elige la versión que desea vincular (para mí su 2.7.6), y el uso de brew switch

brew switch python 2.7.6

Usted también desea ejecutar brew unlink en la lista (si la hubiere) de barril-sólo fórmulas que se han vinculado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X