Cách sử dụng Homebrew để cài đặt kho lưu trữ cục bộ


16

Tôi đang cố gắng sử dụng Homebrew để cài đặt wget, nhưng có điều gì đó đang xảy ra khi quá trình tải xuống luôn bị hỏng. Điều này xảy ra cho tất cả các gói, không chỉ wget. Tôi có thể tải xuống tar.gz tốt thông qua trình duyệt. Tôi có thể sử dụng Homebrew để cài đặt kho lưu trữ được tải xuống cục bộ không? Một cái gì đó như:

brew install wget-1.14.tar.gz 

1
Có vẻ rất kỳ quặc. Tôi không biết bạn có thể làm điều đó nhưng có vẻ như điều gì đó nghiêm trọng hơn đang xảy ra. Bạn đã thử chạy brew doctorchưa?
boyfarrell

Nếu bạn có kho lưu trữ chính xác mà Homebrew mong đợi, bạn có thể đặt nó vào ~ / Library / Caches / Homebrew và sau đó thử brew install. Nhưng điều này là bí ẩn. Làm thế nào về việc đăng đầu ra brew installkhi bạn thử nó theo cách thông thường?
echristopherson

@echristopherson Phương pháp của bạn đã làm việc. Nếu bạn đăng nó như một câu trả lời, tôi sẽ chấp nhận nó.
MD6380

Tôi biết tại sao nó không hoạt động. Bác sĩ bia không cho thấy bất kỳ vấn đề. Có vẻ như proxy HTTP đang được sử dụng không cho phép tải xuống.
MD6380

Chỉ cần lưu ý, điều này hữu ích khi có nhiều gương và một trong công thức không hoạt động. Bạn có thể đặt một nhân bản SourceForge khác thông qua một biến môi trường, nhưng đối với những người khác, giải pháp được chấp nhận là rất hữu ích.
Dan

Câu trả lời:


21

Nếu Homebrew đã có công thức cho nó (trong / usr / local / Library / Formula) và bạn có kho lưu trữ chính xác mà công thức mong đợi (nghĩa là cùng tên tệp và cùng nội dung, như được xác định bởi SHA1 hoặc bất kỳ loại băm nào mà công thức sử dụng ), bạn có thể đặt kho lưu trữ vào ~ / Library / Caches / Homebrew và sau đó thử brew install formula_name(thay thế tên chính xác cho công thức_name , tất nhiên).


2
Homebrewthư mục không tồn tại, nhưng nó hoạt động sau khi tôi mkdirmột.
eccstartup

brew installkhông làm việc cho tôi, nhưng brew install <package>đã làm. Cảm ơn!
Zayne S Halsall

Ồ, tôi đã để lại ẩn ý đó. Tôi đang sửa nó trong câu trả lời của tôi.
echristopherson

6
$ brew install -f wget-1.14.tar.gz

1
Gói khác nhau nhưng cùng một yêu cầu, -f dường như không hoạt động: zaynehalsall@mbp:~$ brew install -f Library/Caches/Homebrew/pwgen-2.07.tar.gz Error: No available formula with the name "Library/Caches/Homebrew/pwgen-2.07.tar.gz" ==> Searching for similarly named formulae... Error: No similarly named formulae found. ==> Searching taps... Error: No formulae found in taps. zaynehalsall@mbp:~$
Zayne S Halsall

1
lỗi tương tự xảy ra
Ben

4

Năm năm và thay đổi muộn cho bữa tiệc, nhưng:

Mẹo nhỏ là chuyển kho lưu trữ vào bộ đệm của brew. Bộ nhớ cache có thể là một nỗi đau để tìm bằng tay; may mắn thay, bạn không phải Chỉ cần hỏi bia với brew --cache.

Điều này cho phép bạn làm như sau trong bash:

mv wget-1.14.tar.gz $(brew --cache)

luân phiên, trong cá:

mv wget-1.14.tar.gz (brew --cache)

Sau đó, việc chạy brew install wgetsẽ dẫn đến việc thông báo rằng nó đang tải xuống kho lưu trữ, ngay lập tức nhận ra rằng kho lưu trữ là "Đã được tải xuống" và mọi thứ diễn ra suôn sẻ từ đó.


2

Có thể tải xuống trước một tệp cho một công thức nhưng bạn sẽ cần tên tệp bộ đệm chính xác có thể được tạo bằng cách sử dụng brew --cache -s <formula>.

Ví dụ: đối với công thức Erlang, brew --cache -s erlangsẽ in đúng tên của tải xuống được lưu trữ. Điều này có nghĩa là thay vì tự đổi tên công thức, bạn có thể chạy:

wget source-version.tar.gz
mv source-version.tar.gz $(brew --cache -s <formula>)

Điều này hoạt động cho phiên bản hiện tại của một hình thức - nhưng nếu tôi muốn cài đặt lại nút 11 thay vì nút 12 hiện tại, nút brew --cache -s vẫn cung cấp cho tôi đường dẫn cho nút 12. Bạn có biết làm thế nào tôi có thể buộc Homebrew Cài đặt phiên bản cũ hơn?
John Y

Đây là phiên bản hoạt động với phiên bản bia mới nhất 2.2.1
LnxSlck

2

Theo đó :

Không thực sự mà không sửa đổi các tập tin công thức.

nếu kho lưu trữ cục bộ của bạn là tệp dựng sẵn, còn gọi là 'chai' trong Bia. Đây là những gì tôi khai thác:

Chai bia có liên quan đến phiên bản MacOS.

Lấy pkg-config chẳng hạn.

tại đây trên  https://bintray.com/homebrew/bottles/pkg-config#files/ , nó liệt kê các tệp khác nhau cho phiên bản MacOS khác nhau.

Sau khi tải xuống tệp chính xác, bạn cần di chuyển nó đến đúng đường dẫn có thể được tạo bởi brew --cache --force-bottle pkg-config

cho 10.14: nó giống như:

/Users/username/L Library / Caches / Homebrew / doads / dd6c78ec64b7c09961ccdb1bf873b5852fd93783cf25ae9b9399c5896a420462--pkg-config-29.2.

cho 10.13: nó giống như:

/Users/username/L Library / Caches / Homebrew / doads / 8b865a8ad8179d4a45289cab9267cc5e3a6153d06432d90cf1745caf5d92a64d--pkg-config-29.2.

sau đó, brew có thể tìm thấy tệp cục bộ được lưu trong bộ nhớ cache khi bạn chạy  brew install pkg-config. nếu không, nó vẫn sẽ tải xuống từ một URL.


chỉ cần di chuyển tệp đến $ (brew --cache) sẽ không hoạt động nữa, ít nhất là cho sản phẩm bia ngày nay (phiên bản 2.19 trong trường hợp của tôi).


nếu tệp cục bộ là mã nguồn, không phải là chai. Di chuyển nó sang $ (công thức brew --cache -s) sẽ hoạt động nếu bạn buộc phải cài đặt nó với tùy chọn --build-from-source.
gebitang

0

Brew đã cập nhật chiến lược bộ nhớ đệm của nó, bạn cần đặt tệp đã tải xuống ~/Library/Caches/Homebrew/downloadsvà tuân theo quy ước đặt tên của nó.

Bạn có thể để brew bắt đầu tải xuống, sau đó bạn sẽ thấy một .incompletetệp, ví dụ: 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.incompletesau đó bạn có thể đổi tên tệp của mình thành 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.

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.