10 votos

Ejecutando "homebrew upgrade [fórmulas específicas] se actualiza mucho más, ¿por qué?

Así que necesitaba actualizar youtube-dl y corrió brew upgrade youtube-dl . Mientras se ejecutaba, homebrew decidió que necesitaba actualizar muchas más cosas, incluyendo todas mis versiones de PHP instaladas... Y ahora, ninguno de ellos funciona como debería (mensajes de error en cli, módulos no cargados, etc.).

Voy a seguir y probablemente reformatear mi máquina para tener una pizarra limpia, pero me pregunto por qué corriendo brew upgrade mientras que dar explícitamente el paquete de actualización actualizaría otros. Entiendo las dependencias, pero dudo mucho que youtube-dl depende de PHP 7.4 y PHP 8.0, y otros.

¿Hay alguna bandera que me haya perdido? ¿Algo más?

10voto

Para ver el árbol de dependencias de un paquete Homebrew, utilice brew deps --tree <package> :

$ brew deps --tree --include-build youtube-dl
youtube-dl
 python@3.9
     pkg-config
     gdbm
     mpdecimal
     openssl@1.1
     readline
     sqlite
        readline
     xz

youtube-dl , php y php@7.4 todo depende de python@3.9 . I podría imagina que la actualización youtube-dl ha provocado una actualización de python@3.9 que era incompatible con las versiones instaladas de php / php@7.4 por lo que también se actualizan esos paquetes.

10voto

JBallin Puntos 71

Preguntas frecuentes sobre homebrew :

¿Por qué la actualización de Brew también actualiza un montón de otras cosas?

Homebrew no admite la mezcla y combinación arbitraria de fórmulas de fórmulas, por lo que todo lo que depende de una fórmula, y todo lo que depende de ella a su vez, tiene que ser actualizado a la última versión ya que esa es la única combinación de fórmulas que probamos. En consecuencia, cualquier dado upgrade o install puede actualizar muchas otras fórmulas (aparentemente no relacionados), si algo importante como python o openssl también necesitaba una actualización.

¿Cómo puedo impedir que se actualicen determinadas fórmulas?

Impedir que algo se actualice/actualice:

brew pin <formula>

Para permitir que esa fórmula se actualice de nuevo:

brew unpin <formula>

Tenga en cuenta que las fórmulas ancladas y obsoletas de las que depende otra fórmula de la que depende otra fórmula deben actualizarse cuando sea necesario, ya que no permitimos que las fórmulas se construyan con versiones obsoletas. Si no se desea desea, puede en su lugar brew extract para mantener su propia copia de la fórmula en un grifo.

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