Homebrew instalar la versión específica de la fórmula?
¿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 versión 9.0.
20 answers
(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 encontró la versión anterior mejor.)
Comencemos con el caso más simple:
1) Compruebe 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 ha eliminado versiones anteriores (usando, por ejemplo brew cleanup
), es probable que alguna versión anterior de su programa todavía pueda existir. Si simplemente desea activar esa versión anterior, brew switch
es la forma más fácil de hacerlo.
Compruebe con brew info postgresql
(o brew switch postgresql <TAB>
) si la versión anterior está instalada:
$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M)
Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more
Vemos que algunos más viejos la versión ya está instalada. Podemos activarlo usando brew switch
:
$ brew switch postgresql 9.1.5
Cleaning /usr/local/Cellar/postgresql/9.1.5
Cleaning /usr/local/Cellar/postgresql/9.3.2
384 links created for /usr/local/Cellar/postgresql/9.1.5
Comprobemos qué está activado:
$ brew info postgresql
postgresql: stable 9.3.2 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.1.5 (2755 files, 37M) *
Built from source
/usr/local/Cellar/postgresql/9.3.2 (2924 files, 39M)
Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/postgresql.rb
# … and some more
Tenga en cuenta que la estrella *
se ha movido a la versión recién activada
(*) Tenga en cuenta que brew switch
solo funciona siempre y cuando todas las dependencias de la versión anterior todavía estén disponibles. En algunos casos, puede ser necesario reconstruir la versión anterior. Por lo tanto, usar brew switch
es principalmente útil cuando uno quiere cambiar entre dos versiones no demasiado muy separados.
2) Compruebe, si la versión está disponible como un grifo
Especialmente para proyectos de software más grandes, es muy probable que haya una demanda lo suficientemente alta para varias versiones principales (potencialmente incompatibles con API) de una determinada pieza de software. A partir de marzo de 2012, Homebrew 0.9 proporciona un mecanismo para esto: brew tap
& el repositorio homebrew versions.
Que el repositorio de versiones puede incluir backports de versiones anteriores para varias fórmulas. (En su mayoría 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:
$ brew search postgresql
postgresql
homebrew/versions/postgresql8 homebrew/versions/postgresql91
homebrew/versions/postgresql9 homebrew/versions/postgresql92
Simplemente podemos instalarlo escribiendo
$ brew install homebrew/versions/postgresql8
Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 1563, done.
remote: Compressing objects: 100% (943/943), done.
remote: Total 1563 (delta 864), reused 1272 (delta 620)
Receiving objects: 100% (1563/1563), 422.83 KiB | 339.00 KiB/s, done.
Resolving deltas: 100% (864/864), done.
Checking connectivity... done.
Tapped 125 formula
==> Downloading http://ftp.postgresql.org/pub/source/v8.4.19/postgresql-8.4.19.tar.bz2
# …
Tenga en cuenta que esto tiene automáticamente pulsado el homebrew/versions
pulsado. (Comprobar con brew tap
, eliminar con brew untap homebrew/versions
.) Lo siguiente habría sido equivalente:
$ brew tap homebrew/versions
$ brew install postgresql8
Mientras las fórmulas de la versión backported se mantengan actualizadas, este enfoque es probablemente la mejor manera de lidiar con software más antiguo.
3) Pruebe alguna fórmula del pasado
Los siguientes enfoques se enumeran principalmente para completar. Ambos intentan resucitar alguna fórmula no muerta del repositorio de brew. 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 git, se pueden instalar versiones específicas usando comandos git simples. 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 comando brew versions
, que escupía todas las versiones disponibles con sus respectivos hashes SHA. A partir de octubre de 2014, tienes que hacer un brew tap homebrew/boneyard
antes de poder usarlo. Como sugiere el nombre del grifo, probablemente solo deberías hacer esto como último recurso.
Por ejemplo
$ brew versions postgresql
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
9.3.2 git checkout 3c86d2b Library/Formula/postgresql.rb
9.3.1 git checkout a267a3e Library/Formula/postgresql.rb
9.3.0 git checkout ae59e09 Library/Formula/postgresql.rb
9.2.4 git checkout e3ac215 Library/Formula/postgresql.rb
9.2.3 git checkout c80b37c Library/Formula/postgresql.rb
9.2.2 git checkout 9076baa Library/Formula/postgresql.rb
9.2.1 git checkout 5825f62 Library/Formula/postgresql.rb
9.2.0 git checkout 2f6cbc6 Library/Formula/postgresql.rb
9.1.5 git checkout 6b8d25f Library/Formula/postgresql.rb
9.1.4 git checkout c40c7bf Library/Formula/postgresql.rb
9.1.3 git checkout 05c7954 Library/Formula/postgresql.rb
9.1.2 git checkout dfcc838 Library/Formula/postgresql.rb
9.1.1 git checkout 4ef8fb0 Library/Formula/postgresql.rb
9.0.4 git checkout 2accac4 Library/Formula/postgresql.rb
9.0.3 git checkout b782d9d Library/Formula/postgresql.rb
Como puedas mira, aconseja no usarlo. Homebrew escupe todas las versiones que puede encontrar con su heurística interna y le muestra una manera de recuperar las viejas fórmulas. Vamos a intentarlo.
# First, go to the homebrew base directory
$ cd $( brew --prefix )
# Checkout some old formula
$ git checkout 6b8d25f Library/Formula/postgresql.rb
$ brew install postgresql
# … installing
Ahora que la versión anterior de postgresql está instalada, podemos volver a instalar la fórmula más reciente para mantener nuestro repositorio limpio:
$ git checkout -- Library/Formula/postgresql.rb
brew switch
es tu amigo para cambiar entre lo viejo y lo nuevo.
B) tiempos prehistóricos
Para necesidades especiales, también podemos probar nuestro propia excavación a través del repo homebrew.
$ git log -S'8.4.4' -- Library/Formula/postgresql.rb
git log -S
busca todas las confirmaciones en las que se haya añadido o eliminado la cadena '8.4.4'
en el archivo Library/Formula/postgresql.rb
. Obtenemos dos confirmaciones como resultado.
commit 7dc7ccef9e1ab7d2fc351d7935c96a0e0b031552
Author: Aku Kotkavuo
Date: Sun Sep 19 18:03:41 2010 +0300
Update PostgreSQL to 9.0.0.
Signed-off-by: Adam Vandenberg
commit fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
Author: David Höppner
Date: Sun May 16 12:35:18 2010 +0200
postgresql: update version to 8.4.4
Obviamente, fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
es el commit que nos interesa. Como este commit es bastante antiguo, intentaremos degradar la instalación completa de homebrew (de esa manera, la API de fórmula está más o menos garantizada para ser válida):
$ git checkout -b postgresql-8.4.4 fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
$ brew install postgresql
$ git checkout master
$ git branch -d postgresql-8.4.4
, puede omitir el último comando para mantener la referencia en tu repositorio git.
Una nota: Al revisar la confirmación anterior, bajas temporalmente tu 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) Escriba manualmente una fórmula
No es demasiado difícil y luego puede subirlo a Homebrew-Versions.
A.) Bonus: Fijación
Si desea mantener una cierta versión de, por ejemplo postgresql, alrededor y detenerlo de al actualizarse cuando realiza el procedimiento natural brew update; brew upgrade
, puede fijar una fórmula:
$ brew pin postgresql
Las fórmulas ancladas se enumeran en /usr/local/Library/PinnedKegs/
y una vez que desee traer los últimos cambios y actualizaciones, puede desanclar de nuevo:
$ brew unpin postgresql
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-12 22:45:18
Flujo de trabajo simple
Ahora que Homebrew/versions ha sido obsoleto, Homebrew/core soporta múltiples versiones de fórmulas con un nuevo formato de nomenclatura.
Para instalar una versión específica, por ejemplo postgresql 9.5, simplemente ejecute:
$ brew install [email protected]
Para listar las versiones disponibles ejecute una búsqueda con@:
$ brew search postgresql@
==> Searching local taps...
[email protected] ✔ [email protected] [email protected] [email protected]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-01 17:24:38
Ahora hay una forma mucho más fácil de instalar una versión anterior de una fórmula que había instalado anteriormente. Simplemente use
brew switch [formula] [version]
Por ejemplo, alterno regularmente entre Nodos.js 0.4.12 and 0.6.5:
brew switch node 0.4.12
brew switch node 0.6.5
Dado que brew switch
solo cambia los enlaces simbólicos, es muy rápido. Ver más documentación en el Wiki de Homebrew bajo External Commands.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-14 16:33:26
Actualización: 15/1/2015
- Encuentre el historial de confirmaciones del software y la versión deseados. por ejemplo, necesito cambiar de docker versión 1.4.1 a 1.3.3: https://github.com/Homebrew/homebrew-core/commits/master/Formula/docker.rb
- Ver el archivo con este botón:
- Haga clic en el botón Raw:
- Copie la URL (docker.rb url en este ejemplo) desde la barra de direcciones
-
brew install <url>
(puede tener quebrew unlink
primero, e. g.brew unlink docker
) brew switch docker 1.3.3
- Volver a docker 1.4.1
brew switch docker 1.4.1
De esto esencia
brew update
brew versions FORMULA
cd `brew --prefix`
git checkout HASH Library/Formula/FORMULA.rb # use output of "brew versions"
brew install FORMULA
brew switch FORMULA VERSION
git checkout -- Library/Formula/FORMULA.rb # reset formula
## Example: Using Subversion 1.6.17
#
# $ brew versions subversion
# 1.7.3 git checkout f8bf2f3 /usr/local/Library/Formula/subversion.rb
# 1.7.2 git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
# 1.6.17 git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# 1.6.16 git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
# 1.6.15 git checkout 809a18a /usr/local/Library/Formula/subversion.rb
# 1.6.13 git checkout 7871a99 /usr/local/Library/Formula/subversion.rb
# 1.6.12 git checkout c99b3ac /usr/local/Library/Formula/subversion.rb
# 1.6.6 git checkout 8774131 /usr/local/Library/Formula/subversion.rb
# 1.6.5 git checkout a82e823 /usr/local/Library/Formula/subversion.rb
# 1.6.3 git checkout 6b6d369 /usr/local/Library/Formula/subversion.rb
# $ cd `brew --prefix`
# $ git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# $ brew install subversion
# $ brew switch subversion 1.6.17
# $ git checkout -- Library/Formula/subversion.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-22 03:55:19
He descubierto una solución alternativa mejor que las otras soluciones complejas.
brew install https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb
Esto descargará e instalará PostgreSQL 8.4.8
Encontré esta solución comenzando a seguir los pasos de buscar el repositorio y un comentario en el repositorio .
Después de un poco de investigación encontró que alguien tiene una colección de formulares raros para preparar.
Si buscas MySQL 5.1.x, dale una oportunidad.
brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-18 10:47:55
Siguiendo la sugerencia de @halfcube, esto funciona muy bien:
- Encuentra la biblioteca que estás buscando en https://github.com/Homebrew/homebrew-core/tree/master/Formula
- Haga clic en él: https://github.com/Homebrew/homebrew-core/blob/master/Formula/postgresql.rb
- Haga clic en el botón" historial" para ver las confirmaciones antiguas: https://github.com/Homebrew/homebrew-core/commits/master/Formula/postgresql.rb
- Haga clic en el que desee: "postgresql: update version to 8.4.4", https://github.com/Homebrew/homebrew-core/blob/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
- Haga clic en el enlace "raw": https://raw.githubusercontent.com/Homebrew/homebrew-core/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-04 03:46:15
Puede usar la estrategia de identificar la fórmula y una confirmación en particular en el historial de la fórmula que coincida con la versión del paquete que desea instalar.
Pulse
t
en su teclado para activar el buscador de archivos.Identifique una fórmula que se vea más relevante, tal vez:
Formula/mysql.rb
, llevándole a una ubicación de archivo forumla: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb.-
Mira el historial de revisiones haciendo clic en el botón
History
, 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 un GitHub commit:
NOTA: Es posible que tengas que ver el historial de confirmaciones en tu consola según la sugerencia de GitHub si el historial de confirmaciones no se carga en tu navegador. Reemplaza el SHA de confirmación anterior en la URL si estás interesado en ver esa confirmación en GitHub. Alternativamente, vaya al paso 7, a continuación.
Haga clic en el botón" Ver " para ver el fuente para mysql.archivo rb después de aplicar la confirmación.
Luego haga clic en el botón" Raw " para ver la fuente raw.
-
Copie la URL. Alternativamente, construya la URL usted mismo con el nombre de archivo
mysql.rb
para identificar su fórmula y la versión particular de esa fórmula (identificada por el SHA de commmit en la URL debajo). -
Instálalo con
$ brew install [URL from step 7]
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew/c77882756a832ac1d87e7396c114158e5619016c/Library/Formula/mysql.rb
NOTA: Esta respuesta fue actualizada para dar cuenta de la eliminación de la braumeister.org sitio web. El mismo principio se aplica, braumeister simplemente había proporcionado una manera amigable para principiantes para navegar por las versiones de fórmula.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-15 20:06:45
Acabo de usar Homebrew para volver a Maven 2.2.1 ya que el simple brew install maven
instalado Maven 3.0.3.
Primero tienes que dejar el maven dir allí para
$ brew unlink maven
Utilice el comando brew tap
$ brew tap homebrew/versions Cloning into '/usr/local/Library/Taps/homebrew-versions'... remote: Counting objects: 590, done. remote: Compressing objects: 100% (265/265), done. remote: Total 590 (delta 362), reused 549 (delta 325) Receiving objects: 100% (590/590), 117.49 KiB | 79 KiB/s, done. Resolving deltas: 100% (362/362), done. Tapped 50 formula
Ahora puede instalar la fórmula maven2:
$ brew install maven2 ==> Downloading http://www.apache.org/dist/maven/maven-2/2.2.1/binaries/apache-maven-2.2.1-bin.tar.gz ######################################################################## 100.0% /usr/local/Cellar/maven2/2.2.1: 10 files, 3.1M, built in 6 seconds
$ mvn --version Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700) Java version: 1.6.0_37 Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: en_US, platform encoding: MacRoman OS name: "mac os x" version: "10.7.4" arch: "x86_64" Family: "mac"
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 ha actualizado esta respuesta para tener en cuenta este cambio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-06 20:40:12
Basado en el flujo de trabajo descrito por @tschundeee y la actualización 1 de@Debilski, automatizé el procedimiento y agregué limpieza en este script.
Descárguelo , póngalo en su camino y brewv <formula_name> <wanted_version>
. Para el PO específico, sería:
cd path/to/downloaded/script/
./brewv postgresql 8.4.4
:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:59
En la nueva versión de homebrew (0.9.5 al momento de escribir este artículo) habrá una receta específica para la versión del barril de homebrew que desea instalar. Ejemplo:
$ brew search mongodb
mongodb mongodb24 mongodb26
Entonces simplemente haz brew install mongodb26
como de costumbre.
En el caso de que ya haya 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
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-01 02:05:23
Una respuesta actualizada desde entonces 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
):
- Encuentre su archivo de fórmula, por ejemplo: https://github.com/Homebrew/homebrew-core/blob/master/Formula/terraform.rb
- Obtenga la versión de confirmación del historial de github con https://github.com/Homebrew/homebrew-core/commits/master/Formula/terraform.rb o
git log master -- Formula/terraform.rb
si han clonado el repositorio localmente. - Obtenga la URL de git sin procesar con la versión de confirmación de su fórmula: Si la fórmula enlaza github.com es https://github.com/Homebrew/homebrew-core/blob/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb, tu URL raw será: https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
- instalarlo con:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-19 20:45:46
Se podría hacer muy fácil para la última versión de brew.
brew tap homebrew/versions
brew install subversion17 # for svn 1.7 branch instead of last available
brew install postgresql8 # for postgresql 8 (which you ask)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-12 09:23:08
El problema con homebrew/versions
es que alguien tiene que tener esa versión específica del software listada en el repositorio para que usted pueda usarla. Además, dado que brew versions
ya no es compatible, se requiere otra solución. Para las soluciones que indican usar brew switch
, esto solo funcionará si no ha hecho un 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 docker-machine
que no estaba listada en homebrew/versions
. Resolví esto. usando lo siguiente, que también debería funcionar para cualquier software instalado brew. El siguiente ejemplo usará docker-machine
como el paquete que quiero degradar de la versión 0.5.0 a 0.4.1.
Vaya a su directorio homebrew
Formula
.
Puede determinar esto ejecutandobrew info [any package name]
. Por ejemplo,brew info docker-machine
me da una línea que me muestra una ruta -/usr/local/Cellar/docker-machine/0.5.0
. Esto me dice que en mi máquina, homebrew está instalado en/usr/local
y miFormula
el 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 un archivodocker-machine.rb
.-
Obtenga el historial de versiones de este archivo de fórmulas . Introduzca
git log docker-machine.rb
. Esto listará el historial completo de confirmaciones para este archivo. Verás una salida como esta:
...more commit 20c7abc13d2edd67c8c1d30c407bd5e31229cacc Author: BrewTestBot Date: Thu Nov 5 16:14:18 2015 +0000 docker-machine: update 0.5.0 bottle. commit 8f615708184884e501bf5c16482c95eff6aea637 Author: Vincent Lesierse Date: Tue Oct 27 22:25:30 2015 +0100 docker-machine 0.5.0 Updated docker-machine to 0.5.0 Closes #45403. Signed-off-by: Dominyk Tiller commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423 Author: BrewTestBot Date: Mon Sep 21 14:04:04 2015 +0100 docker-machine: update 0.4.1 bottle. commit 18fcbd36d22fa0c19406d699308fafb44e4c8dcd Author: BrewTestBot Date: Sun Aug 16 09:05:56 2015 +0100 docker-machine: update 0.4.1 bottle. ...more
La parte difícil es encontrar la última confirmación para la versión específica que desea. En lo anterior, puedo decir la la última versión 0.4.1 fue confirmada con esta etiqueta de confirmación: commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
. Las confirmaciones anteriores a este punto comienzan a usar la versión 0.5.0 (las entradas de registro de git se enumeran desde la fecha más reciente hasta la más antigua).
-
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
Desinstalar su paquete actual versión. Simplemente ejecute los comandos normales de brew 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 normal brew install e instalará la fórmula que tiene para finalizar la compra. Ex.
brew install docker-machine
Puede que tenga que volver a enlazar utilizando el brew link docker-machine
si es necesario.
Si en cualquier momento desea volver a la última versión de un paquete específico, vaya a el directorio de fórmulas y emitir los siguientes comandos en su archivo de fórmulas (.rb)
git reset HEAD docker-machine.rb
git checkout -- docker-machine.rb
Entonces usted puede brew uninstall docker-machine
y brew install docker-machine
para obtener la última versión y mantenerlo de esa manera en el futuro.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-10 17:30:15
Si no puede encontrar su versión con 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:
Véase
nginx: update 1.6.3 bottle eba75b9a1a474b9fc4df30bd0a32637fa31ec049
Desde allí, podemos instalar 1.6.3
con el sha y la url de git raw:
brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-15 18:32:15
Ninguno de estos realmente funcionó para mi caso (Python), así que agregaré mis 2 centavos:
cd `brew --prefix`
git log Library/Formula/python.rb
La salida se ve así:
commit 9ff2d8ca791ed1bd149fb8be063db0ed6a67a6de Author: Dominyk Tiller <[email protected]> Date: Thu Jun 30 17:42:18 2016 +0100 python: clarify pour_bottle reason commit cb3b29b824a264895434214e191d0d7ef4d51c85 Author: BrewTestBot <[email protected]> Date: Wed Jun 29 14:18:40 2016 +0100 python: update 2.7.12 bottle. commit 45bb1e220341894bbb7de6fd3f6df20987dc14f0 Author: Rakesh <[email protected]> Date: Wed Jun 29 10:02:26 2016 +0530 python 2.7.12 Closes #2452. Signed-off-by: Tim D. Smith <[email protected]> commit cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9 Author: BrewTestBot <[email protected]> Date: Fri Jun 17 20:14:36 2016 +0100 python: update 2.7.11 bottle. ...
Quiero la versión 2.7.11
así que mi hash es cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
(o cf5da05
para abreviar). A continuación, compruebo esa versión e instalo la fórmula python
:
git checkout cf5da05
brew install python
Finalmente, limpiar:
git checkout master
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-05 21:18:07
Instale una versión antigua del paquete brew (ejemplo Flyway 4.2.0)
Encuentra tu homebrew local git dir o clona 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 el ID de confirmación de la versión que desee e instálelo directamente
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Library/Formula/flyway.rb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-24 16:12:16
Actualización de la Librería/Formula/postgresql.rb línea 8 a
http://ftp2.uk.postgresql.org/sites/ftp.postgresql.org/source/v8.4.6/postgresql-8.4.6.tar.bz2
Y MD5 en la línea 9 a
fcc3daaf2292fa6bf1185ec45e512db6
Guardar y salir.
brew install postgres
initdb /usr/local/var/postgres
Ahora, en esta etapa, podría enfrentar el error postgresql could not create shared memory segment
, para evitar esa actualización del /etc/sysctl.conf
de la siguiente manera:
kern.sysv.shmall=65536
kern.sysv.shmmax=16777216
Intente initdb /usr/local/var/postgres
de nuevo, y debería funcionar sin problemas.
Para ejecutar postgresql al inicio
launchctl load -w /usr/local/Cellar/postgresql/8.4.6/org.postgresql.postgres.plist
Espero que eso ayude:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-13 16:30:50
Acabo de copiar una versión anterior de elasticsearch en el directorio /usr/local/Cellar/elasticsearch
.
$ mkdir /usr/local/Cellar/elasticsearch/5.4.3/bin
$ cp elasticsearch /usr/local/Cellar/elasticsearch/5.4.3/bin
$ brew switch elasticsearch 5.4.3
Eso es todo. Tal vez sea útil para cualquiera.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-06 15:44:48
Decidí, contra mi mejor juicio, crear una fórmula para Maven 3.1.1, que homebrew/versions
no tenía. Para hacer esto:
- I bifurcada
homebrew/versions
en github. - Hice un enlace simbólico de
$(brew --prefix)/Library/Taps
a la copia local de trabajo de mi bifurcación. Voy a llamar a estomy-homebrew/versions
. - Probé especificando la fórmula como
my-homebrew/versions/<formula>
. - Envié una solicitud de extracción a
homebrew/versions
para mi nueva fórmula.
Yay.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-02 13:30:57
Para las versiones que no están actualmente en las fórmulas de brebaje predeterminadas, puede crear fácilmente su propio toque con la herramienta de https://github.com/buildtools-version-taps/homebrew-versions-tap-tool
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-15 17:18:52