14 votos

Homebrew: ¿Cómo ignorar la fórmula cask en la `actualización de la cerveza`? (ya que `pin` no tiene la opción `--cask`)

¿Cómo es posible ignorar una fórmula por nombre mientras se actualizan los paquetes en Homebrew con brew upgrade ?

¿Existe un comando equivalente a este?:

brew upgrade --ignore <FORMULA>

Esta pregunta de Stack Overflow de 2014 tiene múltiples respuestas que mencionan brew pin como solución, pero esa característica no funciona para los barriles:

10voto

toolkit Puntos 27248

Solución

Puede utilizar buo/homebrew-cask-ugrade que es una herramienta de terceros con cask características de actualización, incluyendo pin .

brew tap buo/cask-upgrade    # Install `brew-cask-upgrade`
brew cu pin <CASK_NAME>      # Pin the cask you want

Motivo de la solución

Parece que el mantenedor de Homebrew no va a permitir la fijación de barriles, porque muchos barriles se auto-actualizan, algo que Homebrew técnicamente no puede evitar que ocurra.

De un comentar sobre homebrew/homebrew-cask: Permitir fijar barriles #49127 :

Una gran parte de los barriles se actualiza automáticamente y no podemos impedirlo. Así que el pasador sería, en el mejor de los casos, inconsistente y no funcionaría en muchos casos.

6voto

Lucas Puntos 11

Si estás dispuesto a escribir algo de código BASH, esto se puede hacer en una sola línea usando brew list y grep --invert-match :

brew upgrade $(brew list | grep --invert-match <FORMULA>)

Esencialmente, sólo filtramos la lista de paquetes instalados por brew y filtramos el llamado <FÓRMULA> utilizando la coincidencia invertida de grep.

Probado con brew 3.4.3 en GNU bash, versión 3.2.57(1)-release (x86_64-apple-darwin20).

2voto

Ana Puntos 71

¿Sabe brew o le importa que internet piense que pin ¿se ha eliminado? :-)

Mi brew (3.3.12, último commit 2022-01-26) no sabe nada al respecto. Desde man brew

pin installed_formula [...]
       Pin the specified formula, preventing them from being upgraded when issuing the brew upgrade
       formula command. See also unpin.

upgrade [options] [outdated_formula|outdated_cask ...]
       Upgrade outdated casks and outdated, unpinned formulae using the same options they were
       originally installed with, plus any appended brew formula options. If cask or formula are
       specified, upgrade only the given cask or formula kegs (unless they are pinned; see pin, unpin).

La documentación parece estar a la par con la realidad ya que pude anclar, sacar la lista de anclados y desanclar:

+ > brew pin fzf
+ > brew list --pinned
fzf
+ > brew unpin fzf
+ > brew list --pinned
+ >

Si pin es lo que quieres o necesitas es otra historia, pero los rumores de que pin es eliminado son muy exagerados.

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