Làm thế nào để bạn cài đặt lại một gói với Homebrew (Mac)?


119

Đấu tranh để tìm tài liệu Homebrew tốt (hoặc hướng dẫn) ...

Trong lúc này, tôi cần cài đặt lại ImageMagick đã được cài đặt với Homebrew ( brew install imagemagick) và không chắc chắn trước tiên tôi nên brew uninstall imagemagicktiếp tục hay tiếp tục brew install imagemagick --disable-openmp --forcecài đặt hiện có?!?

những gì --forcethực sự làm gì? Có hiệu quả khi gỡ cài đặt theo sau là cài đặt mới với các tham số mới không?

Câu trả lời:


103

Các --forcelựa chọn cho các installhành động chỉ ghi đè bất kỳ tập tin hiện có trên đĩa nếu các gói bạn đang cố gắng để cài đặt đã tồn tại. Nó không xóa các tập tin khỏi đĩa như uninstallhành động.

Tôi sẽ làm điều brew uninstall imagemagickđầu tiên trước khi làm install. Với brewtôi, cách tiếp cận đơn giản nhất thường là tốt nhất: Tôi muốn cài đặt lại một cái gì đó sau đó tôi nên gỡ bỏ nó trước uninstallvà đặt lại install. Sandboxing homebrew làm rất tốt việc thực hiện gỡ cài đặt sạch khỏi hệ thống của bạn.

Nếu bạn muốn gỡ cài đặt nó bằng tay, bạn chỉ cần tìm kiếm /usr/local/binbất kỳ tệp nào liên kết ../Cellar/imagemagickvà xóa các liên kết tượng trưng đó. Sau đó xóa /usr/local/bin/imagemagickvà nó biến mất. Bạn có thể bị bỏ lại với một số gói phụ thuộc cũng cần xóa, nhưng gói hình ảnh cốt lõi sẽ bị xóa. Để xem những gì hình ảnh phụ thuộc vào nếu bạn muốn thực hiện chạy dọn dẹp thêm:

$ brew info imagemagick
imagemagick 6.7.1-1
http://www.imagemagick.org
Depends on: jpeg, libtiff, little-cms, jasper
Not installed

Some tools will complain unless the ghostscript fonts are installed to:
  /usr/local/share/ghostscript/fonts

http://github.com/mxcl/homebrew/commits/master/Library/Formula/imagemagick.rb

tuyệt vời! rất hữu ích cảm ơn! +1 & ✔
Meltemi

Tôi dường như không thể xây dựng lại (một bản dựng lại đầy đủ, từ nguồn) một gói, đã gặp sự cố này miễn là tôi có thể nhớ bằng cách sử dụng brew: gist.github.com/hydrostarr/9766139 . Tôi có thể làm gì sai, nếu có gì?
Johnny Utahh

Điều này là rất lỗi thời. Xem câu trả lời dưới đây từ @Nelson.
Django Reinhardt

1
@DjangoReinhardt bất chấp sự xuất hiện của brew reinstalltôi vẫn nghĩ rằng nó khách quan hơn brew uninstallvà sau đó brew installmột lần nữa. Xem thảo luận về câu trả lời của @ Nelson để biết lý do tại sao.
Ian C.

128

Homebrew hiện có một brew reinstalllệnh, được thêm vào tháng 2 năm 2013 . Nó chỉ đơn giản là gỡ cài đặt theo sau là một cài đặt.


8
brew reinstallcó vẻ khá nguy hiểm, vì hiện tại nó không bảo tồn các tùy chọn đã cài đặt.
Aron Ahmadia

7
Tôi cảm thấy như nó thường sẽ hữu ích hơn khi không bảo quản chúng. Một gói có thể bị hỏng do các tùy chọn cài đặt của bạn và bỏ qua các tùy chọn khi cài đặt lại có khả năng khắc phục sự cố trong một số trường hợp.
Nick McCurdy

4
Tôi có thể cài đặt lại với các tùy chọn không?
ryanwinchester

13
Cả hai brew reinstallbrew upgradebây giờ âm thầm bảo tồn các tùy chọn được chỉ định trước đó. Tôi ghét điều này. Lý tưởng nhất, brewít nhất sẽ cung cấp một tùy chọn để vô hiệu hóa chức năng đáng ngờ này. Nó không. Phương tiện có thể tái tạo duy nhất của các gói cài đặt lại là gỡ cài đặt thủ công và cài đặt lại các gói đã nói. Cách tiếp cận kiểu cờ Gentoo USE của các tùy chọn bền vững đối với tệp có thể chỉnh sửa (ví dụ ~/Library/Homebrew/options.conf:) sẽ được ưu tiên rất nhiều. Tôi luôn biết chính xác những lựa chọn tôi muốn, Homebrew. (Nhưng cảm ơn vì đã cố gắng giúp đỡ và thất bại.)
Cecil Curry

3
tốt, tôi đã học được một từ mới ngày hôm nay
18
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.