Como instalo uma versão específica de uma fórmula no homebrew? Por exemplo, postgresql-8.4.4 em vez do 9.0 mais recente.
installation
versioning
homebrew
Gravis
fonte
fonte
postgresql
é estranho porque tinha versões separadas no Homebrew a certa altura, algo comobash
poderia ser um exemplo melhor, pois passou de 4.x para 5.x com o mesmo nome de fórmula. Veja stackoverflow.com/a/55764594/3794873Respostas:
TLDR:
brew install [email protected]
Veja a resposta abaixo para mais detalhes.* ( Reeditei minha resposta para fornecer um fluxo de trabalho mais completo para a instalação / uso de versões mais antigas de software com o homebrew. Sinta-se à vontade para adicionar uma observação, se você achou a versão antiga melhor. )
Vamos começar com o caso mais simples:
1) Verifique se a versão já está instalada (mas não ativada)
Quando o homebrew instala uma nova fórmula, ela a coloca em um diretório com versão como
/usr/local/Cellar/postgresql/9.3.1
. Somente links simbólicos para esta pasta são instalados globalmente. Em princípio, isso facilita bastante a alternância entre duas versões instaladas. (*)Se você usa o homebrew há mais tempo e nunca removeu versões mais antigas (usando, por exemplo
brew cleanup
), é provável que algumas versões mais antigas do seu programa ainda estejam por aí. Se você deseja simplesmente ativar a versão anterior,brew switch
é a maneira mais fácil de fazer isso.Verifique com
brew info postgresql
(oubrew switch postgresql <TAB>
) se a versão mais antiga está instalada:Vemos que algumas versões mais antigas já estão instaladas. Podemos ativá-lo usando
brew switch
:Vamos verificar o que está ativado:
Observe que a estrela
*
mudou para a versão recém-ativada(*) Observe que
brew switch
só funciona enquanto todas as dependências da versão mais antiga ainda estiverem disponíveis. Em alguns casos, uma reconstrução da versão mais antiga pode ser necessária. Portanto, o usobrew switch
é principalmente útil quando se deseja alternar entre duas versões não muito distantes.2) Verifique se a versão está disponível como toque
Especialmente para projetos de software maiores, é muito provável que exista uma demanda alta o suficiente para várias versões principais (potencialmente incompatíveis com a API) de um determinado software. Em março de 2012, o Homebrew 0.9 fornece um mecanismo para isso:
brew tap
& o repositório de versões do homebrew .Esse repositório de versões pode incluir backports de versões mais antigas para várias fórmulas. (Principalmente apenas os grandes e famosos, mas é claro que eles também terão várias fórmulas para o postgresql.)
brew search postgresql
mostrará onde procurar:Podemos simplesmente instalá-lo digitando
Observe que isso tocou automaticamente na
homebrew/versions
torneira. (Verifique combrew tap
, remova combrew untap homebrew/versions
.) O seguinte teria sido equivalente:Desde que as fórmulas da versão com portabilidade permaneçam atualizadas, essa abordagem é provavelmente a melhor maneira de lidar com software mais antigo.
3) Tente alguma fórmula do passado
As abordagens a seguir estão listadas principalmente para fins de integridade. Ambos tentam ressuscitar alguma fórmula de mortos-vivos do repositório de preparação. Devido a alterações nas dependências, alterações na API na especificação da fórmula ou simplesmente uma alteração no URL de download, as coisas podem ou não funcionar.
Como o diretório inteiro da fórmula é um repositório git, é possível instalar versões específicas usando comandos simples do git. No entanto, precisamos encontrar uma maneira de chegar a um commit onde a versão antiga estava disponível.
a) tempos históricos
Entre agosto de 2011 e outubro de 2014 , o homebrew teve um
brew versions
comando, que cuspiu todas as versões disponíveis com seus respectivos hashes SHA. Em outubro de 2014, você deve fazer umbrew tap homebrew/boneyard
antes de poder usá-lo. Como o nome da torneira sugere, você provavelmente deve fazer isso apenas como último recurso.Por exemplo
Como você pode ver, desaconselha o uso. O Homebrew mostra todas as versões que pode encontrar com sua heurística interna e mostra uma maneira de recuperar as fórmulas antigas. Vamos tentar.
Agora que a versão mais antiga do postgresql está instalada, podemos reinstalar a fórmula mais recente para manter nosso repositório limpo:
brew switch
é seu amigo para mudar entre o antigo e o novo.b) tempos pré-históricos
Para necessidades especiais, também podemos tentar nossa própria escavação através do repo homebrew.
git log -S
procura por todas as confirmações nas quais a sequência'8.4.4'
foi adicionada ou removida no arquivoLibrary/Taps/homebrew/homebrew-core/Formula/postgresql.rb
. Temos dois commits como resultado.Obviamente,
fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422
é nesse commit que estamos interessados. Como esse commit é bastante antigo, tentaremos fazer o downgrade da instalação completa do homebrew (dessa forma, a API da fórmula é mais ou menos garantida como válida):Você pode pular o último comando para manter a referência em seu repositório git.
Uma observação: ao fazer o check-out do commit mais antigo, você rebaixa temporariamente a instalação do homebrew. Portanto, você deve ter cuidado, pois alguns comandos no homebrew podem ser diferentes da versão mais recente.
4) Escreva manualmente uma fórmula
Não é muito difícil e você pode enviá-lo para o seu próprio repositório. Costumava ser Homebrew-Versions , mas agora é descontinuado.
A.) Bônus: Fixação
Se você deseja manter uma determinada versão do, digamos postgresql, por perto e impedir que ela seja atualizada ao executar o
brew update; brew upgrade
procedimento natural , é possível fixar uma fórmula:As fórmulas fixadas são listadas
/usr/local/Library/PinnedKegs/
e, quando você deseja introduzir as alterações e atualizações mais recentes, pode desassociá- las novamente:fonte
git checkout fa992 -- Library/Formula/postgresql.rb
. Quando terminar, você pode desfazer as alterações na fórmula usandogit revert HEAD Library/Formula/postgresql.rb && git checkout -- Library/Formula/postgresql.rb
.brew update
estabelecer seu repositório Git.cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
, então você pode usargit checkout 4cce79d -- Formula/go.rb
eHOMEBREW_NO_AUTO_UPDATE=1 brew install go
.Fluxo de trabalho simples
Agora que o Homebrew / versões foi descontinuado, o Homebrew / core suporta várias versões de fórmulas com um novo formato de nomenclatura.
Para instalar uma versão específica, por exemplo, postgresql 9.5, basta executar:
Para listar as versões disponíveis, faça uma pesquisa com @:
fonte
fatal: Not a git repository (or any of the parent directories): .git
. Eu sócd
para o diretório em vez (sem o FORMULANAME.rb), em seguida, fazer ogit checkout 120938
cd /usr/local
primeiro.brew unlink FORMULANAME
brew versions <formula>
não é mais suportado.brew link --force [email protected]
. Se você já possui uma versão mais recente instalada e deseja que a versão mais antiga seja o padrão, também precisará de uma--overwrite
.Agora existe uma maneira muito mais fácil de instalar uma versão mais antiga de uma fórmula que você instalou anteriormente. Basta usar
Por exemplo, alterno regularmente entre o Node.js 0.4.12 e 0.6.5:
Como
brew switch
apenas altera os links simbólicos, é muito rápido. Consulte a documentação adicional no Homebrew Wiki em External Commands .fonte
brew switch
depende da versão procurada já estar instalada. Infelizmente, porém, a resposta atualmente aceita é incrivelmente inútil, complicada e desatualizada. Não são melhores respostas abaixo que são muito mais útil.Atualização: 15/1/2015
brew install <url>
(pode ser necessáriobrew unlink
primeiro, por exemplobrew unlink docker
)brew switch docker 1.3.3
brew switch docker 1.4.1
Desta essência
fonte
brew install <url>
,brew unlink <formulaname>
. Caso contrário, essa é a maneira mais simples e concisa (até agora) de mudar para uma versão específica de uma fórmula.Raw
aperta o botão em qual arquivo ?!brew log <formula>
Seguindo a sugestão do @ halfcube, isso funciona muito bem:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8cf29889111b44fd797c01db3cf406b0b14e858c/Formula/postgresql.rb
fonte
package@version
git log master -- Formula/PACKAGENAME.rb
para obter o histórico de confirmação, confira a confirmação correta e executebrew install Formula/PACKAGENAME.rb
para instalá-lo.brew unlink
antesbrew install
de outra versão.mxcl
?brew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rb
mas recebo o erro, provavelmente devido ao@
sinal: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.
Alguma idéia?Eu descobri uma solução alternativa melhor do que as outras soluções complexas.
Isso fará o download e instalará o PostgreSQL 8.4.8
Encontrei esta solução começando a seguir as etapas de pesquisa no repositório e um comentário no repositório.
Depois de um pouco de pesquisa, descobrimos que alguém tem uma coleção de formulários raros para preparar.
Se você está procurando pelo MySQL 5.1.x, experimente.
fonte
brew install https://github.com/Homebrew/homebrew-versions/blob/master/node06.rb
parecia falhar com erros de sintaxe.raw
URLhomebrew-versions
se foi e tudo o que está nocore
agora, para o caso geral é:brew install https://raw.github.com/Homebrew/homebrew-core/<COMMIT>/Formula/<FORMULA>.rb
.COMMIT
pode ser encontrado em github.com/Homebrew/homebrew-core/commits/master/Formula/… .Você pode usar a estratégia de identificar a fórmula e um commit específico no histórico da fórmula que corresponda à versão do pacote que você deseja instalar.
Vá para https://github.com/Homebrew/homebrew-core
Pressione
t
no teclado para ativar o localizador de arquivos.Identifique uma fórmula que pareça mais relevante, talvez
Formula/mysql.rb
:, levando você a um local de arquivo no forumla: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb .Veja o histórico de revisões clicando no
History
botão, localizado em https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rb . Se você está interessado no MySQL 5.7.10, convém clicar na última revisão anterior ao 5.7.11, que navega para um commit do GitHub:https://github.com/Homebrew/homebrew-core/commit/c77882756a832ac1d87e7396c114158e5619016c#Formula/mysql.rb
NOTA: Talvez você precise visualizar o histórico de consolidação no seu console, por sugestão do GitHub, se o histórico de consolidação não carregar no seu navegador. Substitua o SHA de confirmação acima no URL se você estiver interessado em vê-lo no GitHub. Como alternativa, pule para a etapa 7 abaixo.
Clique no botão "Visualizar" para visualizar a fonte do arquivo mysql.rb após a aplicação do commit.
Em seguida, clique no botão "Raw" para visualizar a fonte bruta.
Copie o URL. Como alternativa, crie você mesmo o URL com o
mysql.rb
nome do arquivo para identificar sua fórmula e a versão específica dessa fórmula (identificada pelo SHA de confirmação no URL abaixo).https://raw.githubusercontent.com/Homebrew/homebrew-core/c77882756a832ac1d87e7396c114158e5619016c/Formula/mysql.rb
Instale-o com
$ brew install [URL from step 7]
NOTA: Esta resposta foi atualizada para explicar a remoção do site braumeister.org. O mesmo princípio se aplica, o braumeister simplesmente forneceu uma maneira amigável para iniciantes de navegar pelas versões das fórmulas.
fonte
A maioria das outras respostas está obsoleta agora. Infelizmente, o Homebrew ainda não possui uma maneira embutida de instalar uma versão desatualizada, a menos que essa versão exista como uma fórmula separada (por exemplo
python@2
,[email protected]
…).Felizmente, para outras fórmulas, há uma maneira muito mais fácil do que a bagunça complicada que costumava ser necessária. Aqui estão as instruções completas:
Procure a versão correta nos logs:
Isso mostrará uma lista de hashes de confirmação. Pegue um que seja apropriado (principalmente deve ser bastante óbvio, e geralmente é o mais recente (ou seja, o topo).
Encontre o URL no qual a fórmula reside no repositório upstream:
Corrija o URL:
github.com
porraw.githubusercontent.com
blob/master
pelo hash de confirmação encontrado na primeira etapa.Instale a versão desejada substituindo
master
no URL encontrado anteriormente pelo hash de confirmação, por exemplo:(A última etapa pode exigir a execução
brew unlink ‹formula›
antes.)Se você copiou um hash de confirmação que deseja usar, pode usar algo como este exemplo para instalar essa versão, substituindo o valor e
bash
pelo seu hash de confirmação e pela fórmula desejada.Este exemplo está instalando o bash 4.4.23 em vez do bash 5, embora se você
brew upgrade
executasse um depois, o bash 5 seria instalado por cima, a menos que você o executasse primeirobrew pin bash
. Em vez disso, para tornar isso mais suave SEM fixar, primeiro instale a versão mais recente combrew install bash
, em seguidabrew unlink bash
, instale a versão mais antiga desejada pelo script acima e use-abrew switch bash 4.4.23
para configurar os links simbólicos para a versão mais antiga. Agorabrew upgrade
, isso não deve afetar sua versão do Bash. Você podebrew switch bash
obter uma lista das versões disponíveis para mudar.Alternativa usando um toque somente local personalizado
Outra maneira de alcançar o mesmo objetivo parece ser:
Isso cria um
formula@version
toque personalizado que você pode instalar conforme o exemplo acima. A desvantagem é que você provavelmente ainda precisabrew unlink bash
e,brew link [email protected]
em seguida , para usar sua versão específica do Bash ou qualquer outra fórmula.fonte
brew log
que quaisquer opções-F
ou extras--grep
estivessem falhando para mim.brew log
. Não posso me incomodar em escrever uma nova versão agora, porque isso requer a análise correta da mensagem de log do git ou a execuçãogit log
direta ou alternativa no repositório correspondente. E o changelog nem parece mencionar essa mudança. Além de irritante.External Command
pode ser necessário operar dentro da estruturabrew
para recuperar esse tipo degit log
filtragem. docs.brew.sh/External-Commandsbrew extract
uso correto , obrigado!Acabei de usar o Homebrew para voltar ao Maven 2.2.1 desde o simples
brew install maven
Maven 3.0.3 instalado.Primeiro você tem que deixar o maven dir lá
Use o comando brew tap
Agora você pode instalar a fórmula do maven2:
Editar: Você também pode
brew switch maven 2.2.1
mudar para uma versão diferente.Edit: O projeto Apache Maven reorganizou seu repositório. Atualizou esta resposta para responder a essa alteração.
fonte
Com base no fluxo de trabalho descrito por @tschundeee e pela atualização 1 de @ Debilski , automatizei o procedimento e adicionei a limpeza neste script .
Faça o download , coloque no seu caminho e
brewv <formula_name> <wanted_version>
. Para o OP específico, seria::)
fonte
Uma resposta atualizada, uma vez que adiciona ao que o @ lance-pollard já postou como resposta de trabalho.
Como instalar uma versão específica de uma fórmula (a fórmula usada neste exemplo é
terraform
):git log master -- Formula/terraform.rb
se você clonou o repositório localmente.brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
fonte
Método oficial (a julgar pela resposta a https://github.com/Homebrew/brew/issues/6028 )
Infelizmente, o Homebrew ainda não possui uma maneira embutida óbvia de instalar uma versão mais antiga.
Felizmente, para a maioria das fórmulas, há uma maneira muito mais fácil do que a bagunça complicada que costumava ser necessária. Aqui estão as instruções completas usando
bash
como exemplo:Isso cria o
formula@version
toque personalizado que você pode instalar conforme o exemplo acima. Uma observação importante é que você provavelmente precisarábrew unlink bash
se instalou a versão padrão / mais recente da fórmula e,brew link [email protected]
em seguida , para usar sua versão específica do Bash (ou qualquer outra fórmula em que você tenha a versão mais recente e mais antiga instalada).Uma desvantagem potencial desse método é que você não pode alternar facilmente entre as versões porque, de acordo com
brew
a fórmula, é uma "fórmula diferente".Se você quiser usar
brew switch $FORMULA $VERSION
, use o próximo método.Método com script (recomendado)
Este exemplo mostra a instalação do bash antigo 4.4.23, um exemplo útil, pois a
bash
fórmula atualmente instala o bash 5.brew install bash
brew unlink bash
brew switch bash 4.4.23
para configurar os links simbólicos para sua versãoSe você executasse um
brew upgrade
após instalar uma versão mais antiga sem instalar a última mais recente, a última seria instalada prejudicando sua versão mais antiga, a menos que você fosse executado primeirobrew pin bash
.As etapas aqui evitam a fixação porque é fácil esquecer e você pode fixar em uma versão que se torne insegura no futuro (consulte Shellshock / etc). Com essa configuração, o a
brew upgrade
não deve afetar sua versão do Bash e você sempre pode executarbrew switch bash
para obter uma lista das versões disponíveis para a qual alternar.Copie, cole e edite as
export
linhas do snippet de código abaixo para atualizar com a versão desejada e o nome da fórmula, copie e cole o restante como está e ele usará essas variáveis para fazer a mágica.Quando tiver certeza de que a versão existe na fórmula, você pode usar o seguinte:
Depois de exportar o hash de confirmação que você deseja usar, você pode usá-lo para instalar a versão do pacote.
Siga as instruções na fórmula de saída para colocá-lo em seu PATH ou configurá-lo como seu shell padrão.
fonte
Na versão mais recente do homebrew (0.9.5 até o momento da redação deste documento), haverá uma receita específica para a versão do barril de homebrew que você deseja instalar. Exemplo:
Então é só fazer o
brew install mongodb26
normal.No caso que você já tinha instalado a versão mais recente, certifique-se de desvincular a versão mais recente e vincular a versão desejada:
brew unlink mongodb && brew link mongodb26
.fonte
O problema
homebrew/versions
é que alguém precisa ter essa versão específica do software listada no repositório para que você possa usá-lo. Além disso, comobrew versions
não é mais suportado, é necessária outra solução. Para soluções que indicam o usobrew switch
, isso funcionará apenas se você não tiver feito isso,brew cleanup
pois a versão precisa existir no seu computador.Ocorreu um problema ao querer instalar uma versão antiga específica da
docker-machine
qual não estava listadahomebrew/versions
. Resolvi isso usando o abaixo, que também deve funcionar para qualquer software instalado em modo brew. O exemplo abaixo será usadodocker-machine
como o pacote que eu quero fazer o downgrade da versão 0.5.0 para a 0.4.1.Vá para o
Formula
diretório do homebrew .Você pode determinar isso executando
brew info [any package name]
. Por exemplo,brew info docker-machine
me dá uma linha que me mostra um caminho -/usr/local/Cellar/docker-machine/0.5.0
. Isso me diz que, na minha máquina, o homebrew está instalado em/usr/local
e meuFormula
diretório está localizado por padrão em/usr/local/Library/Formula
Localize o arquivo de fórmula específico (.rb) para o seu pacote. Como eu quero fazer o downgrade
docker-machine
, posso ver umdocker-machine.rb
arquivo.Obtenha o histórico da versão para este arquivo de fórmula . Enter
git log docker-machine.rb
. Isso listará o histórico completo de consolidação desse arquivo. Você verá uma saída como esta:A parte complicada é encontrar a confirmação mais recente para a versão específica que você deseja. No exemplo acima, eu posso dizer a última versão 0.4.1 foi cometido com este cometer tag:
commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
. As confirmações acima deste ponto começam a usar a versão 0.5.0 (as entradas do log do git são listadas da data mais recente à mais antiga).Obtenha uma versão anterior do arquivo de fórmula. Usando a marca de confirmação da etapa 3 (você pode usar os 6 primeiros caracteres), é possível obter uma versão mais antiga do arquivo de fórmula usando o seguinte:
git checkout 5970e1 docker-machine.rb
Desinstale sua versão atual do pacote. Basta executar os comandos normais de preparação para desinstalar a versão atual do seu pacote.
Ex.
brew uninstall docker-machine
Instale a versão anterior do pacote Agora, você pode simplesmente executar o comando normal de instalação de preparação e ele instalará a fórmula que você fez no checkout. Ex.
brew install docker-machine
Você pode precisar vincular novamente usando o
brew link docker-machine
se necessário.Se a qualquer momento você desejar reverter para a versão mais recente de um pacote específico, entre no diretório Fórmula e emita os seguintes comandos no arquivo de fórmula (.rb)
Então você pode
brew uninstall docker-machine
ebrew install docker-machine
para obter a versão mais recente e mantê-lo assim daqui para frente.fonte
git log --grep 0.4.1 docker-machine.rb
./usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
cairo
fermentação dessa maneira. A resposta do @ sealocal mostrou mais, por algum motivo.É 2020 e a maioria das respostas está desatualizada
Minha situação:
postgresql
foi atualizado de 11 para 12 acidentalmente. Eu quero manter 11.postgres
parapostgres@11
:Se houver algum erro, verifique
/usr/local/var/log/[email protected]
(observe o @ 11).fonte
brew postgresql-upgrade-database
). Esta resposta não é útil para quase nenhuma outra fórmula.brew postgresql-upgrade-database
é, bem, para atualizações . Minha resposta é sobre o uso de uma versão mais antiga do Postgres. Simplesmente alternar binários não funcionará.nvm
, FYI, tive sorte em usar esta técnica para versões mais antigas do LTS. Pelo menos no momento da redação, as v10 e v12 devem estar disponíveis, por exemplo,brew install node@12
formulae.brew.sh/formula/nodeInstale uma versão antiga do pacote de preparação (exemplo do Flyway 4.2.0)
Encontre seu homebrew local git dir ou clone Homebrew / homebrew-core localmente
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
OU
git clone [email protected]:Homebrew/homebrew-core.git
Listar todas as versões disponíveis
git log master -- Formula/flyway.rb
Copie o ID de confirmação para a versão desejada e instale-o diretamente
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Formula/flyway.rb
fonte
brew install Formula/flyway.rb
partir dohomebrew-core
diretório? ele trabalhou para mim sem o uso deraw.github..
endereçoEu tentei a maioria das soluções aqui e elas estão desatualizadas. Eu tive que combinar algumas idéias daqui com meu próprio trabalho. Como resultado, criei um script para me ajudar a fazer o trabalho pesado que você pode encontrar aqui
Uso:
fonte
isso poderia ser feito com muita facilidade para a última versão do brew.
fonte
Nenhuma delas realmente funcionou para o meu caso (Python), então adicionarei meus 2 centavos:
A saída é assim:
Quero versão
2.7.11
para que meu hash sejacf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
(oucf5da05
abreviado). Em seguida, verifico essa versão e instalo a fórmulapython
:Finalmente, limpe:
fonte
HOMEBREW_NO_AUTO_UPDATE
e ler github.com/Homebrew/brew/issues/1188cd
--prefix cerveja/Homebrew
egit log Library/Taps/homebrew/homebrew-core/Formula/python.rb
/Library/Taps
é ignorado.HOMEBREW_NO_AUTO_UPDATE
. Sim, não se esqueça sobre a coisa que você precisa até depois você descobre que você precisar. xDHOMEBREW_NO_INSTALL_CLEANUP
Isso não é algo que você precisa se lembrar?Se você não consegue encontrar sua versão
brew search <formula>
, também pode tentar revisar os logs de confirmação da sua fórmula para encontrar a versão desejada:Aqui está um exemplo para instalar uma versão mais antiga do nginx via brew:
log de confirmação da fórmula ngxnx
Vejo
nginx: update 1.6.3 bottle eba75b9a1a474b9fc4df30bd0a32637fa31ec049
A partir daí, podemos instalar
1.6.3
com o sha e o git urit bruto:brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb
fonte
Atualmente, as maneiras antigas de instalar versões de fórmula específicas foram descontinuadas. Então parece que temos que usar
brew edit [formula]
. Por exemplo, digamos que queremos instalar uma62.1
versão doicu4c
(necessário, por exemplo, parapostgresql 10.5
). Então você teria queAqui você teria que alterar as
url
,version
esha256
(talvez tambémmirror
) as62.1
seqüências correspondentes .então corra
brew reinstall icu4c
para finalmente baixar a62.1
versão.fonte
sha256
? no meu casohttps://storage.googleapis.com/dart-archive/channels/stable/release/1.24.3/sdk/dartsdk-macos-x64-release.zip
Atualize na linha Library / Formula / postgresql.rb 8 para
E MD5 na linha 9 para
Salvar e sair.
Agora, nesse estágio, você pode enfrentar o
postgresql could not create shared memory segment
erro, para solucionar essa atualização da/etc/sysctl.conf
seguinte maneira:Tente
initdb /usr/local/var/postgres
novamente e deve funcionar sem problemas.Para executar o postgresql no início
Espero que ajude :)
fonte
Acabei de copiar uma versão mais antiga do elasticsearch para o
/usr/local/Cellar/elasticsearch
diretórioÉ isso aí. Talvez seja útil para qualquer um.
fonte
Decidi, contra meu melhor julgamento, criar uma fórmula para o Maven 3.1.1, que
homebrew/versions
não possuía. Para fazer isso:homebrew/versions
no github.$(brew --prefix)/Library/Taps
para a cópia de trabalho local do meu garfo. Eu ligo para issomy-homebrew/versions
.my-homebrew/versions/<formula>
.homebrew/versions
a minha nova fórmula.Yay.
fonte
Para versões que não estão atualmente nas fórmulas de fermentação padrão, você pode facilmente criar seu próprio toque com a ferramenta em https://github.com/buildtools-version-taps/homebrew-versions-tap-tool
fonte
brew tap-new user/repo
e entãobrew extract --version='Major.minor' FORMULA user/repo
e entãobrew install [email protected]
.Criei uma ferramenta para facilitar o processo prescrito nesta resposta .
Para encontrar um pacote
pkg
com versãoa.b.c
, execute:Isso listará confirmações na
pkg
fórmula de homebrew que mencionam a versão fornecida junto com os URLs do GitHub.Verifique a confirmação da URL especificada e insira o índice da confirmação selecionada.
Copie e execute o comando fornecido para instalar.
fonte