Làm cách nào để cập nhật công thức với Homebrew?


164

Làm cách nào để cập nhật công thức?

Tôi chạy brew update. Sau đó, chạy brew outdated, đầu ra:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

Như vậy, mongodbđã lỗi thời.

Làm thế nào để tôi nâng cấp nó? Tôi chỉ cần gỡ cài đặt và sau đó cài đặt?

Câu trả lời:


242

Tôi nghĩ rằng cách làm đúng là

nâng cấp bia mongodb

Nó sẽ nâng cấp công thức mongodb. Nếu bạn muốn nâng cấp tất cả các công thức lỗi thời, chỉ cần

nâng cấp bia


Đây thực sự là cách chính xác bây giờ . Những cách cũ vẫn sẽ hoạt động nếu sử dụng chắp thêm --force.
mxcl

58

Bạn có thể cập nhật tất cả các gói lỗi thời như vậy:

brew install `brew outdated`

hoặc là

brew outdated | xargs brew install

hoặc là

brew upgrade

Đây là từ trang web bia ..

để nâng cấp công thức riêng lẻ:

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

Dọn dẹp làm gì?
trang web

3
Tôi nghĩ bây giờ có thể chỉ cần gõ brew upgrade outdatedvà bỏ qua tất cả các crap phức tạp.
Warren P

4
hoặc chỉbrew upgrade
CharlieMezak

20

Trước tiên bạn sẽ cần cập nhật các công thức cục bộ bằng cách thực hiện

brew update

và sau đó nâng cấp gói bằng cách làm

brew upgrade formula-name

Một ví dụ sẽ là nếu tôi muốn nâng cấp mongodb , tôi sẽ làm một cái gì đó như thế này, giả sử mongodb đã được cài đặt:

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

11

Vâng, tôi vừa mới làm

brew install mongodb

và làm theo các hướng dẫn được xuất ra STDOUTsau khi cài đặt xong, và điều đó dường như đã hoạt động tốt. Tôi đoán nó hoạt động giống như make installvà ghi đè (nâng cấp) một bản cài đặt trước đó.


9
Brew cài đặt mongodb vào $HOMEBREW_PREFIX/Cellar/mongodb/<version>/, vì vậy rất có thể bạn đã cài đặt cả hai phiên bản. Sau đó, nó liên kết các phiên bản mới nhất vào $HOMEBREW_PREFIX/bin, vv Chạy brew cleanup mongodbsẽ xóa phiên bản cũ.
mipadi

2

Bạn không thể sử dụng cài đặt brew để nâng cấp công thức đã cài đặt. Nếu bạn muốn nâng cấp tất cả các công thức lỗi thời, bạn có thể sử dụng lệnh bên dưới.

brew outdated | xargs brew upgrade

Bạn giải thích rõ hơn về giải pháp của mình, để hữu ích cho những người dùng SO khác. Chỉ đăng mã không phải là một thực hành tốt nhất ở đây.
Massimiliano Kraus

0

Tôi thích nâng cấp tất cả các công thức homebrewcông thức thùng homebrew .

Tôi đã thêm một hàm shell Bourne vào môi trường của mình cho cái này (tôi tải một .bashrc)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x để minh bạch: Vì vậy, thiết bị đầu cuối xuất ra bất cứ thứ gì Homebrew đang làm trong nền.
  • brew update để cập nhật công thức homebrew
  • brew cleanup để loại bỏ bất kỳ thay đổi còn lại sau khi cài đặt
  • brew cask upgrade --greedysẽ cài đặt tất cả các thùng; cả những người có thông tin phiên bản và những người không có
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.