Como atualizo uma fórmula com o Homebrew?

164

Como atualizo uma fórmula?

Corri brew update. Em seguida, em execução brew outdated, gera:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

Assim, mongodbestá desatualizado.

Como atualizá-lo? Acabo de desinstalar e instalar?

ma11hew28
fonte

Respostas:

242

Eu acho que a maneira correta de fazer é

mongodb de atualização de fermentação

Ele atualizará a fórmula do mongodb. Se você deseja atualizar todas as fórmulas desatualizadas, basta

atualização de fermentação

yc
fonte
Esta é realmente a maneira correta agora . As formas antigas ainda funcionarão se usar append --force.
Mxcl 28/02/2012
58

Você pode atualizar todos os pacotes desatualizados da seguinte forma:

brew install `brew outdated`

ou

brew outdated | xargs brew install

ou

brew upgrade

Isto é do site de fermentação.

para atualizar a fórmula individual:

brew install formula-name && brew cleanup formula-name
user689741
fonte
O que a limpeza faz?
sites
3
Eu acho que agora posso apenas digitar brew upgrade outdatede pular toda essa porcaria complexa.
Warren P.
4
ou apenas #brew upgrade
CharlieMezak
20

Você primeiro precisará atualizar as fórmulas locais fazendo

brew update

e, em seguida, atualize o pacote fazendo

brew upgrade formula-name

Um exemplo seria se eu quisesse atualizar o mongodb , faria algo assim, assumindo que o mongodb já estivesse instalado:

brew update && brew upgrade mongodb && brew cleanup mongodb
Joseph
fonte
11

Bem, eu apenas fiz

brew install mongodb

e seguiu as instruções fornecidas STDOUTapós a instalação ser concluída, e isso parece ter funcionado bem. Eu acho que meio que funciona como make installe sobrescreve (atualizações) uma instalação anterior.

ma11hew28
fonte
9
O Brew instala o mongodb no $HOMEBREW_PREFIX/Cellar/mongodb/<version>/, portanto você provavelmente tem as duas versões instaladas. Em seguida, ele vincula a versão mais recente a $HOMEBREW_PREFIX/binetc. A execução brew cleanup mongodbexcluirá a versão antiga.
Mipadi
2

Você não pode usar a instalação de distribuição para atualizar uma fórmula instalada. Se você deseja atualizar todas as fórmulas desatualizadas, pode usar o comando abaixo.

brew outdated | xargs brew upgrade
UnchartedWorks
fonte
É melhor você explicar sua solução, para ser útil aos outros usuários de SO. A publicação de apenas código não é uma prática recomendada aqui.
Massimiliano Kraus
0

Prefiro atualizar todas as fórmulas de homebrew e de casbrew cask .

Adicionei uma função de shell Bourne ao meu ambiente para esta (carrego um .bashrc)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x para transparência: para que o terminal produza o que quer que a Homebrew esteja fazendo em segundo plano.
  • brew update atualizar fórmulas de homebrew
  • brew cleanup para remover qualquer alteração que sobrar após as instalações
  • brew cask upgrade --greedyinstalará todos os barris; aqueles com informações sobre versão e aqueles sem
Jonathan Komar
fonte