Як оновити формулу з Homebrew?


164

Як оновити формулу?

Я побіг brew update. Потім, працює brew outdated, виводить:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

Таким чином, mongodbзастаріла.

Як оновити його? Чи потрібно просто видалити та встановити?

Відповіді:


242

Я думаю, що це правильний спосіб

варити оновлення mongodb

Він оновить формулу mongodb. Якщо ви хочете оновити всю застарілу формулу, просто

оновлення пива


Зараз це справді правильний шлях . Старі способи все ще працюватимуть, якщо використовувати додавання --force.
mxcl

Коли я запускаю "brew upgrade <packagename>", він фактично оновлює всі застарілі пакети, займаючи години замість секунд. Це дуже поганий дизайн. Правильний спосіб "ОСТОРОЖНО оновити один єдиний пакет" - це "варити інсталяцію <ім'я пакета>", що знову заплутано.
xuancong84

58

Ви можете оновити всі застарілі пакети так:

brew install `brew outdated`

або

brew outdated | xargs brew install

або

brew upgrade

Це з сайту заварювання ..

для оновлення індивідуальної формули:

brew install formula-name && brew cleanup formula-name

Що робить очищення?
сайти

3
Я думаю, тепер можна просто набрати brew upgrade outdatedта пропустити всі складні лайно.
Warren P

4
або простоbrew upgrade
CharlieMezak

20

Спочатку потрібно буде оновити локальні формули, виконавши

brew update

а потім оновіть пакет, виконавши

brew upgrade formula-name

Прикладом може бути те, якби я хотів оновити mongodb , я зробив би щось подібне, припускаючи, що mongodb вже встановлений:

brew update && brew upgrade mongodb && brew cleanup mongodb

11

Ну, я просто зробив

brew install mongodb

і дотримувались інструкцій, які виходили STDOUTпісля того, як він закінчив установку, і, здається, він працював чудово. Я думаю, це ніби працює так само, як make installі перезаписує (оновлює) попередню установку.


9
Brew встановлює mongodb $HOMEBREW_PREFIX/Cellar/mongodb/<version>/, тому у вас, швидше за все, встановлені обидві версії. Потім він позначає останню версію $HOMEBREW_PREFIX/binі т. Д. Запуск brew cleanup mongodbвидалить стару версію.
mipadi

2

Для оновлення встановленої формули ви не можете скористатись інсталяцією. Якщо ви хочете оновити всі застарілі формули, можете скористатися командою нижче.

brew outdated | xargs brew upgrade

Ви краще поясніть своє рішення, щоб бути корисним для інших користувачів ЗП. Тут не найкраща практика розміщення коду.
Массіміліано Краус

0

Я вважаю за краще оновити всі домашні формули та домашні формули бочка .

Для цього я додав функцію оболонки Bourne (я завантажую .bashrc)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x для прозорості: Так що термінал видає все, що Homebrew робить у фоновому режимі.
  • brew update оновити формули домашнього перекладу
  • brew cleanup щоб видалити будь-які зміни, що залишилися після встановлення
  • brew cask upgrade --greedyвстановить усі бочки; як тих, хто має інформацію про версії, так і тих, що не мають версії
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.