¿Cómo instalo una versión específica de una fórmula en homebrew? Por ejemplo, postgresql-8.4.4 en lugar de la última 9.0.
installation
versioning
homebrew
Gravis
fuente
fuente
postgresql
es extraño porque tenía versiones separadas en Homebrew en un punto, algo asíbash
podría ser un mejor ejemplo ya que pasó de 4.xa 5.x dentro del mismo nombre de fórmula. Ver stackoverflow.com/a/55764594/3794873Respuestas:
TLDR:
brew install [email protected]
consulte la respuesta a continuación para obtener más detalles.* ( He reeditado mi respuesta para dar un flujo de trabajo más completo para instalar / usar versiones de software anteriores con homebrew. Siéntase libre de agregar una nota si encuentra la versión anterior mejor ) .
Comencemos con el caso más simple:
1) Verifique si la versión ya está instalada (pero no activada)
Cuando homebrew instala una nueva fórmula, la coloca en un directorio versionado como
/usr/local/Cellar/postgresql/9.3.1
. Solo los enlaces simbólicos a esta carpeta se instalan globalmente. En principio, esto hace que sea bastante fácil cambiar entre dos versiones instaladas. (*)Si ha estado usando homebrew durante más tiempo y nunca eliminó versiones anteriores (usando, por ejemplo
brew cleanup
), es probable que algunas versiones anteriores de su programa aún estén disponibles. Si desea simplemente activar esa versión anterior,brew switch
es la forma más fácil de hacerlo.Verifique con
brew info postgresql
(obrew switch postgresql <TAB>
) si la versión anterior está instalada:Vemos que alguna versión anterior ya está instalada. Podemos activarlo usando
brew switch
:Vamos a verificar lo que está activado:
Tenga en cuenta que la estrella
*
ha movido a la versión recién activada(*) Tenga en cuenta que
brew switch
solo funciona mientras existan todas las dependencias de la versión anterior. En algunos casos, puede ser necesaria una reconstrucción de la versión anterior. Por lo tanto, usandobrew switch
es principalmente útil cuando se quiere cambiar entre dos versiones no muy separadas.2) Verifique si la versión está disponible como un toque
Especialmente para proyectos de software más grandes, es muy probable que exista una demanda lo suficientemente alta para varias versiones principales (potencialmente incompatibles con la API) de un determinado software. A partir de marzo de 2012, Homebrew 0.9 proporciona un mecanismo para esto:
brew tap
y el repositorio de versiones de homebrew .Ese repositorio de versiones puede incluir backports de versiones anteriores para varias fórmulas. (Principalmente solo los grandes y famosos, pero por supuesto también tendrán varias fórmulas para postgresql).
brew search postgresql
te mostrará dónde buscar:Simplemente podemos instalarlo escribiendo
Tenga en cuenta que esto ha tocado el
homebrew/versions
grifo automáticamente . (Verifique conbrew tap
, elimine conbrew untap homebrew/versions
). Lo siguiente habría sido equivalente:Mientras las fórmulas de la versión con respaldo se mantengan actualizadas, este enfoque es probablemente la mejor manera de lidiar con el software anterior.
3) Prueba alguna fórmula del pasado
Los siguientes enfoques se enumeran principalmente para completar. Ambos intentan resucitar alguna fórmula de muertos vivientes del repositorio de cerveza. Debido a cambios en las dependencias, cambios en la API en la especificación de la fórmula o simplemente un cambio en la URL de descarga, las cosas pueden o no funcionar.
Dado que todo el directorio de fórmulas es un repositorio de git, uno puede instalar versiones específicas usando comandos simples de git. Sin embargo, necesitamos encontrar una manera de llegar a un commit donde la versión anterior estaba disponible.
a) tiempos históricos
Entre agosto de 2011 y octubre de 2014 , homebrew tenía un
brew versions
comando que escupía todas las versiones disponibles con sus respectivos hashes SHA. A partir de octubre de 2014, tienes que hacer unbrew tap homebrew/boneyard
antes de poder usarlo. Como sugiere el nombre del grifo, probablemente solo deberías hacer esto como último recurso.P.ej
Como puede ver, desaconseja su uso. Homebrew escupe todas las versiones que puede encontrar con su heurística interna y le muestra una forma de recuperar las fórmulas antiguas. Vamos a intentarlo.
Ahora que la versión anterior de postgresql está instalada, podemos reinstalar la última fórmula para mantener limpio nuestro repositorio:
brew switch
es tu amigo para cambiar entre lo viejo y lo nuevo.b) tiempos prehistóricos
Para necesidades especiales, también podemos intentar cavar a través del repositorio homebrew.
git log -S
busca todas las confirmaciones en las que la cadena'8.4.4'
se agregó o eliminó en el archivoLibrary/Taps/homebrew/homebrew-core/Formula/postgresql.rb
. Obtenemos dos commits como resultado.Obviamente,
fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
es la confirmación que nos interesa. Como esta confirmación es bastante antigua, intentaremos degradar la instalación completa de homebrew (de esa manera, la API de fórmula está más o menos garantizada como válida):Puede omitir el último comando para mantener la referencia en su repositorio git.
Una nota: cuando revisa el commit anterior, degrada temporalmente su instalación de homebrew. Por lo tanto, debe tener cuidado ya que algunos comandos en homebrew pueden ser diferentes a la versión más reciente.
4) Escribe manualmente una fórmula
No es demasiado difícil y luego puede subirlo a su propio repositorio. Solía ser Homebrew-Versions , pero ahora está descontinuado.
A.) Bonificación: fijación
Si desea mantener una cierta versión de, digamos postgresql, alrededor y evitar que se actualice cuando realiza el
brew update; brew upgrade
procedimiento natural , puede anclar una fórmula:Las fórmulas ancladas se enumeran
/usr/local/Library/PinnedKegs/
y una vez que desee incorporar los últimos cambios y actualizaciones, puede volver a fijarlas :fuente
git checkout fa992 -- Library/Formula/postgresql.rb
. Cuando haya terminado, puede deshacer los cambios a la fórmula usandogit revert HEAD Library/Formula/postgresql.rb && git checkout -- Library/Formula/postgresql.rb
.brew update
establecer su repositorio de Git.cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
, entonces puede usargit checkout 4cce79d -- Formula/go.rb
yHOMEBREW_NO_AUTO_UPDATE=1 brew install go
.Flujo de trabajo simple
Ahora que Homebrew / versiones ha quedado en desuso, Homebrew / core admite múltiples versiones de fórmulas con un nuevo formato de nombres.
Para instalar una versión específica, por ejemplo, postgresql 9.5 simplemente ejecuta:
Para enumerar las versiones disponibles, ejecute una búsqueda con @:
fuente
fatal: Not a git repository (or any of the parent directories): .git
. Acabo decd
entrar en el directorio (sin FORMULANAME.rb), luego hago elgit checkout 120938
cd /usr/local
primero.brew unlink FORMULANAME
brew versions <formula>
ya no es compatible.brew link --force [email protected]
. Si ya tiene instalada una versión más nueva y desea que la versión anterior sea la predeterminada, también necesitará una--overwrite
.Ahora hay una manera mucho más fácil de instalar una versión anterior de una fórmula que ya había instalado. Simplemente use
Por ejemplo, alterno regularmente entre Node.js 0.4.12 y 0.6.5:
Como
brew switch
solo cambia los enlaces simbólicos, es muy rápido. Consulte más documentación en Homebrew Wiki en Comandos externos .fuente
brew switch
basa en que la versión solicitada ya está instalada. Sin embargo, desafortunadamente, la respuesta actualmente aceptada es increíblemente inútil, enrevesada y desactualizada. A continuación hay mejores respuestas que son mucho más útiles.Actualización: 15/01/2015
brew install <url>
(puede tener quebrew unlink
primero, por ejemplobrew unlink docker
)brew switch docker 1.3.3
brew switch docker 1.4.1
De esta esencia
fuente
brew install <url>
,brew unlink <formulaname>
. De lo contrario, esta es la forma más simple y concisa (hasta ahora) para cambiar a una versión específica de una fórmula.Raw
botón en qué archivo?brew log <formula>
En la línea de la sugerencia de @ halfcube, esto funciona muy bien:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
fuente
package@version
git log master -- Formula/PACKAGENAME.rb
para obtener el historial de confirmación, verifique la confirmación correcta y luego ejecutebrew install Formula/PACKAGENAME.rb
para instalarlo.brew unlink
antesbrew install
de otra versión.mxcl
?brew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rb
pero aparece el error, probablemente debido a la@
firma: ¿Error: No available formula with the name "postgresql%409.6" In formula file: /Users/maciek/Library/Caches/Homebrew/Formula/postgresql%409.6.rb Expected to find class Postgresql%4096, but only found: PostgresqlAT96.
Alguna idea?He descubierto una solución alternativa mejor que las otras soluciones complejas.
Esto descargará e instalará PostgreSQL 8.4.8
Encontré esta solución comenzando a seguir los pasos de búsqueda en el repositorio y un comentario en el repositorio.
Después de una pequeña investigación descubrió que alguien tiene una colección de formuladores raros para elaborar.
Si estás buscando MySQL 5.1.x, inténtalo.
fuente
brew install https://github.com/Homebrew/homebrew-versions/blob/master/node06.rb
parecía fallar con los errores de sintaxis.raw
URLhomebrew-versions
se ha ido y todo lo que está encore
ahora, para el caso general es:brew install https://raw.github.com/Homebrew/homebrew-core/<COMMIT>/Formula/<FORMULA>.rb
.COMMIT
se puede encontrar visitando github.com/Homebrew/homebrew-core/commits/master/Formula/… .Puede usar la estrategia de identificar la fórmula y una confirmación particular en el historial de la fórmula que coincida con la versión del paquete que desea instalar.
Vaya a https://github.com/Homebrew/homebrew-core
Presione
t
en su teclado para activar el buscador de archivos.Identifique una fórmula que parezca más relevante, quizás:
Formula/mysql.rb
llevándolo a la ubicación de un archivo forumla: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb .Mire el historial de revisiones haciendo clic en el
History
botón, que se encuentra en https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rb . Si está interesado en MySQL 5.7.10, es posible que desee hacer clic en la última revisión anterior a 5.7.11, que navega a una confirmación de GitHub:https://github.com/Homebrew/homebrew-core/commit/c77882756a832ac1d87e7396c114158e5619016c#Formula/mysql.rb
NOTA: Puede que tenga que ver el historial de confirmación en su consola según la sugerencia de GitHub si el historial de confirmación no se carga en su navegador. Reemplace el commit SHA anterior en la URL si está interesado en ver ese commit en GitHub. Alternativamente, salte al paso 7, a continuación.
Haga clic en el botón "Ver" para ver la fuente del archivo mysql.rb después de aplicar el commit.
Luego haga clic en el botón "Sin procesar" para ver la fuente sin procesar.
Copia la URL. Alternativamente, cree la URL usted mismo con el
mysql.rb
nombre del archivo para identificar su fórmula y la versión particular de esa fórmula (identificada por el SHA de comunicación en la URL a continuación).https://raw.githubusercontent.com/Homebrew/homebrew-core/c77882756a832ac1d87e7396c114158e5619016c/Formula/mysql.rb
Instalarlo con
$ brew install [URL from step 7]
NOTA: Esta respuesta se actualizó para dar cuenta de la eliminación del sitio web braumeister.org. Se aplica el mismo principio, Braumeister simplemente había proporcionado una forma amigable para principiantes para navegar por las versiones de fórmulas.
fuente
La mayoría de las otras respuestas son obsoletas por ahora. Desafortunadamente, Homebrew todavía no tiene una forma integrada de instalar una versión desactualizada, a menos que esa versión exista como una fórmula separada (por ejemplo
python@2
,[email protected]
...).Afortunadamente, para otras fórmulas hay una manera mucho más fácil que el desorden enredado que solía ser necesario. Aquí están las instrucciones completas:
Busque la versión correcta en los registros:
Esto mostrará una lista de hashes de confirmación. Tome uno que sea apropiado (en su mayoría debería ser bastante obvio, y generalmente es el más reciente (es decir, el superior).
Encuentre la URL en la que reside la fórmula en el repositorio ascendente:
Repara la URL:
github.com
conraw.githubusercontent.com
blob/master
con el hash de confirmación que encontramos en el primer paso.Instale la versión deseada reemplazando
master
la URL encontrada anteriormente por el hash de confirmación, por ejemplo:(El último paso puede requerir ejecutar
brew unlink ‹formula›
antes).Si ha copiado un hash de compromiso que desea usar, puede usar algo como este ejemplo para instalar esa versión, reemplazando el valor y
bash
con su hash de compromiso y su fórmula deseada.Este ejemplo es la instalación de bash 4.4.23 en lugar de bash 5, aunque si realizó un
brew upgrade
después, bash 5 se instalaría en la parte superior, a menos que primero lo ejecutebrew pin bash
. En lugar de hacer esto más suave sin definir, se debe instalar primero el más reciente conbrew install bash
y, a continuaciónbrew unlink bash
, a continuación, instalar la versión anterior que desea por el script de arriba, y luego usarbrew switch bash 4.4.23
para establecer los enlaces simbólicos a la versión anterior. Ahora abrew upgrade
no debería afectar su versión de Bash. Puedebrew switch bash
obtener una lista de las versiones disponibles para cambiar.Alternativa con un toque personalizado solo local
Otra forma de lograr el mismo objetivo parece ser:
Esto crea un
formula@version
toque personalizado que puede instalar según el ejemplo anterior. La desventaja es que probablemente aún lo necesitebrew unlink bash
y luegobrew link [email protected]
para usar su versión específica de Bash o cualquier otra fórmula.fuente
brew log
que cualquier extra-F
u--grep
opciones me fallaran.brew log
. No puedo molestarme en escribir una nueva versión ahora porque eso requiere analizar correctamente el mensaje de registro git o, alternativamente, ejecutarsegit log
directamente en el repositorio correspondiente. Y el registro de cambios no parece siquiera mencionar este cambio radical. Más que molesto.External Command
podría ser necesario operar dentro de la estructurabrew
para recuperar ese tipo degit log
filtrado. docs.brew.sh/External-Commandsbrew extract
uso correcto , ¡gracias!Acabo de usar Homebrew para volver a Maven 2.2.1 desde el simple
brew install maven
Maven 3.0.3 instalado.Primero tienes que dejar el directorio de expertos allí, así que
Use el comando brew tap
Ahora puede instalar la fórmula maven2:
Editar: También puede simplemente
brew switch maven 2.2.1
cambiar a una versión diferente.Editar: El proyecto Apache Maven reorganizó su repositorio. Se actualizó esta respuesta para tener en cuenta este cambio.
fuente
Basado en el flujo de trabajo descrito por @tschundeee y la actualización 1 de @ Debilski , automaticé el procedimiento y agregué limpieza en este script .
Descárgalo , ponlo en tu camino y
brewv <formula_name> <wanted_version>
. Para el OP específico, sería::)
fuente
Una respuesta actualizada ya que se suma a lo que @ lance-pollard ya publicó como respuesta de trabajo.
Cómo instalar una versión específica de una fórmula (la fórmula utilizada en este ejemplo es
terraform
):git log master -- Formula/terraform.rb
si ha clonado el repositorio localmente.brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
fuente
Método oficial (a juzgar por la respuesta a https://github.com/Homebrew/brew/issues/6028 )
Desafortunadamente, Homebrew todavía no tiene una forma integrada obvia de instalar una versión anterior.
Afortunadamente, para la mayoría de las fórmulas hay una forma mucho más fácil que el desorden complicado que solía ser necesario. Aquí están las instrucciones completas usando
bash
como ejemplo:Esto crea
formula@version
en su toque personalizado que puede instalar según el ejemplo anterior. Una nota importante es que probablemente lo necesitebrew unlink bash
si previamente instaló la versión predeterminada / más reciente de la fórmula y luegobrew link [email protected]
para usar su versión específica de Bash (o cualquier otra fórmula donde tenga instalada la versión más reciente y más antigua).Una desventaja potencial de este método es que no puede cambiar fácilmente entre las versiones porque de acuerdo con
brew
esta, es una "fórmula diferente".Si desea poder usarlo
brew switch $FORMULA $VERSION
, debe usar el siguiente método.Método con guión (recomendado)
Este ejemplo muestra la instalación de bash 4.4.23 anterior, un ejemplo útil ya que la
bash
fórmula actualmente instala bash 5.brew install bash
brew unlink bash
brew switch bash 4.4.23
para configurar los enlaces simbólicos a su versiónSi realizó una
brew upgrade
después de instalar una versión anterior sin instalar primero la última, entonces la última se instalaría golpeando su versión anterior, a menos que primero la ejecutebrew pin bash
.Los pasos aquí EVITAN la fijación porque es fácil de olvidar y puede fijar a una versión que se vuelva insegura en el futuro (ver Shellshock / etc). Con esta configuración un
brew upgrade
, no debería afectar su versión de Bash y siempre puede ejecutarbrew switch bash
para obtener una lista de las versiones disponibles para cambiar.Copie y pegue y edite las
export
líneas del fragmento de código a continuación para actualizar con la versión deseada y el nombre de la fórmula, luego copie y pegue el resto tal como está y usará esas variables para hacer la magia.Cuando esté seguro de que la versión existe en la fórmula, puede usar lo siguiente:
Una vez que haya exportado el hash de confirmación que desea usar, puede usarlo para instalar esa versión del paquete.
Siga las instrucciones en el resultado de la fórmula para ponerlo en su RUTA o configurarlo como su shell predeterminado.
fuente
En la versión más reciente de homebrew (0.9.5 a partir de este escrito) habrá una receta específica para la versión del barril de homebrew que desea instalar. Ejemplo:
Entonces simplemente haz lo
brew install mongodb26
normal.En el caso de que ya había instalado la última versión, asegúrese de desvincular la última versión y vincular la versión deseada:
brew unlink mongodb && brew link mongodb26
.fuente
El problema
homebrew/versions
es que alguien debe tener esa versión específica de software en el repositorio para que pueda usarla. Además, dadobrew versions
que ya no es compatible, se requiere otra solución. Para las soluciones que indican el usobrew switch
, esto solo funcionará si no lo ha hecho,brew cleanup
ya que la versión debe existir en su computadora.Tuve un problema al querer instalar una versión anterior específica de la
docker-machine
cual no figuraba en la listahomebrew/versions
. Resolví esto usando lo siguiente, que también debería funcionar para cualquier software instalado. El siguiente ejemplo se usarádocker-machine
como el paquete que quiero degradar de la versión 0.5.0 a 0.4.1.Vaya a su
Formula
directorio homebrew .Puede determinar esto ejecutando
brew info [any package name]
. Por ejemplo,brew info docker-machine
me da una línea que me muestra un camino -/usr/local/Cellar/docker-machine/0.5.0
. Esto me dice que en mi máquina, homebrew está instalado en/usr/local
y miFormula
directorio se encuentra por defecto en/usr/local/Library/Formula
Localice el archivo de fórmula específico (.rb) para su paquete. Como quiero degradar
docker-machine
, puedo ver undocker-machine.rb
archivo.Obtenga el historial de versiones para este archivo de fórmula . Introduzca
git log docker-machine.rb
. Esto enumerará el historial de confirmación completo para este archivo. Verá resultados como este:La parte difícil es encontrar la última confirmación para la versión específica que desea. En lo anterior, puedo decir la última versión 0.4.1 se ha comprometido con esta confirmación de la etiqueta:
commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
. Las confirmaciones por encima de este punto comienzan a usar la versión 0.5.0 (las entradas de registro de git se enumeran de la última a la fecha más temprana).Obtenga una versión anterior del archivo de fórmula. Usando la etiqueta de confirmación del paso 3 (puede usar los primeros 6 caracteres), puede obtener una versión anterior del archivo de fórmula usando lo siguiente:
git checkout 5970e1 docker-machine.rb
Desinstale la versión actual de su paquete. Simplemente ejecute los comandos brew normales para desinstalar la versión actual de su paquete.
Ex.
brew uninstall docker-machine
Instale la versión anterior del paquete Ahora, solo puede ejecutar el comando de instalación de preparación normal e instalará la fórmula que ha extraído. Ex.
brew install docker-machine
Es posible que deba volver a vincular utilizando
brew link docker-machine
si es necesario.Si en algún momento desea volver a la última versión de un paquete específico, vaya al directorio Fórmula y emita los siguientes comandos en su archivo de fórmula (.rb)
Entonces puede
brew uninstall docker-machine
ybrew install docker-machine
para obtener la última versión y mantenerla así en el futuro.fuente
git log --grep 0.4.1 docker-machine.rb
./usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
cairo
cerveza de esta manera. La respuesta de @ sealocal mostró más, por alguna razón.Es 2020 y la mayoría de las respuestas están desactualizadas
Mi situación:
postgresql
se actualizó de 11 a 12 accidentalmente. Quiero mantener 11.postgres
apostgres@11
:Si tiene algún error, marque
/usr/local/var/log/[email protected]
(observe el @ 11).fuente
brew postgresql-upgrade-database
). Esta respuesta no es útil para casi ninguna otra fórmula.brew postgresql-upgrade-database
es, bueno, para actualizaciones . Mi respuesta es sobre el uso de una versión anterior de Postgres. Simplemente cambiar binarios no funcionará.nvm
, para su información He tenido suerte usando esta técnica para versiones anteriores de LTS. Al menos al momento de escribir v10 y v12 debería estar disponible, por ejemplo,brew install node@12
formulae.brew.sh/formula/nodeInstale una versión anterior del paquete de preparación (ejemplo de Flyway 4.2.0)
Encuentre su directorio local de homebrew git o clone Homebrew / homebrew-core localmente
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
O
git clone [email protected]:Homebrew/homebrew-core.git
Lista todas las versiones disponibles
git log master -- Formula/flyway.rb
Copie la ID de confirmación de la versión que desee e instálela directamente
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Formula/flyway.rb
fuente
brew install Formula/flyway.rb
desde elhomebrew-core
directorio? funcionó para mí sin usar laraw.github..
direcciónHe probado la mayoría de las soluciones aquí y están desactualizadas. Tuve que combinar algunas ideas de aquí con mi propio trabajo. Como resultado, he creado un script para ayudarme a hacer el trabajo pesado que puedes encontrar aquí
Uso:
fuente
se podría hacer muy fácil para la última versión de brew.
fuente
Ninguno de estos realmente funcionó para mi caso (Python), así que agregaré mis 2 centavos:
La salida se ve así:
Quiero la versión,
2.7.11
así que mi hash escf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
(ocf5da05
para abreviar). A continuación, verifico esa versión e instalo la fórmulapython
:Finalmente, limpia:
fuente
HOMEBREW_NO_AUTO_UPDATE
leer github.com/Homebrew/brew/issues/1188cd
brew --prefix/Homebrew
ygit log Library/Taps/homebrew/homebrew-core/Formula/python.rb
/Library/Taps
se ignora.HOMEBREW_NO_AUTO_UPDATE
. Sí, no se olvide de lo que necesita hasta después de descubrir que lo necesite. xDHOMEBREW_NO_INSTALL_CLEANUP
¿No es esto algo que necesitas recordar?Si no puede encontrar su versión
brew search <formula>
, también puede intentar revisar los registros de confirmación de su fórmula para encontrar la versión que desea:Aquí hay un ejemplo para instalar una versión anterior de nginx a través de brew:
registro de confirmación de fórmula ngxnx
ver
nginx: update 1.6.3 bottle eba75b9a1a474b9fc4df30bd0a32637fa31ec049
A partir de ahí, podemos instalar
1.6.3
con la url sha y raw git:brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb
fuente
Actualmente, las viejas formas de instalar versiones de fórmulas específicas han quedado en desuso. Entonces parece que tenemos que usar
brew edit [formula]
. Por ejemplo, digamos que queremos instalar una62.1
versión deicu4c
(necesaria, por ejemplo, parapostgresql 10.5
). Entonces tendrías queAquí tendría que modificar el
url
,version
ysha256
(quizás tambiénmirror
) a las62.1
cadenas correspondientes .luego corre
brew reinstall icu4c
para descargar finalmente la62.1
versión.fuente
sha256
? en mi casohttps://storage.googleapis.com/dart-archive/channels/stable/release/1.24.3/sdk/dartsdk-macos-x64-release.zip
Actualización en la Biblioteca / Fórmula / postgresql.rb línea 8 a
Y MD5 en la línea 9 a
Guardar y Salir.
Ahora, en esta etapa, es posible que se enfrente al
postgresql could not create shared memory segment
error, para evitar esa actualización/etc/sysctl.conf
como esta:Inténtalo de
initdb /usr/local/var/postgres
nuevo y debería funcionar sin problemas.Para ejecutar postgresql al inicio
Espero que ayude :)
fuente
Acabo de copiar una versión anterior de elasticsearch en el
/usr/local/Cellar/elasticsearch
directorio.Eso es. Quizás sea útil para cualquiera.
fuente
Decidí, en contra de mi mejor juicio, crear una fórmula para Maven 3.1.1, que
homebrew/versions
no tenía. Para hacer esto:homebrew/versions
en github.$(brew --prefix)/Library/Taps
a la copia de trabajo local de mi tenedor. Voy a llamar a estemy-homebrew/versions
.my-homebrew/versions/<formula>
.homebrew/versions
para mi nueva fórmula.Hurra.
fuente
Para versiones que actualmente no están en las fórmulas de preparación predeterminadas, puede crear fácilmente su propio toque con la herramienta desde https://github.com/buildtools-version-taps/homebrew-versions-tap-tool
fuente
brew tap-new user/repo
y luegobrew extract --version='Major.minor' FORMULA user/repo
y luegobrew install [email protected]
.Creé una herramienta para facilitar el proceso prescrito en esta respuesta .
Para encontrar un paquete
pkg
con versióna.b.c
, ejecute:Esto enumerará los commits en la
pkg
fórmula homebrew que mencionan la versión dada junto con sus URL de GitHub.Verifique la confirmación de la URL dada e ingrese el índice de la confirmación seleccionada.
Copie y ejecute el comando dado para instalar.
fuente