Homebrew를 사용하여 로컬 아카이브를 설치하는 방법


16

Homebrew를 사용하여 wget을 설치하려고하는데 다운로드가 항상 손상된 곳에서 문제가 발생합니다. 이것은 wget뿐만 아니라 모든 패키지에서 발생합니다. 브라우저를 통해 tar.gz를 다운로드 할 수 있습니다. Homebrew를 사용하여 로컬로 다운로드 한 아카이브를 설치할 수 있습니까? 다음과 같은 것 :

brew install wget-1.14.tar.gz 

2
매우 이상해 보인다. 나는 당신이 그것을 할 수 있다는 것을 모르지만 더 심각한 일이 일어나고있는 것처럼 들립니다. 당신은 실행을 시도 했습니까 brew doctor?
boyfarrell

Homebrew가 기대하는 정확한 아카이브가 있다면 ~ / Library / Caches / Homebrew에 넣고 시도하십시오 brew install. 그러나 이것은 신비합니다. brew install일반적인 방법으로 시도했을 때 의 결과를 게시하는 것은 어떻습니까?
echristopherson

@echristopherson 당신의 방법은 효과가 있었다. 답변으로 게시하면 수락하겠습니다.
MD6380

왜 작동하지 않는지 알고 있습니다. Brew 의사는 아무런 문제도 보이지 않습니다. 사용중인 HTTP 프록시가 다운로드를 허용하지 않는 것 같습니다.
MD6380

참고로, 이것은 여러 개의 미러가 있고 레시피의 미러가 작동하지 않을 때 유용합니다. 환경 변수를 통해 다른 SourceForge 미러를 설정할 수 있지만 다른 사용자에게는 허용되는 솔루션이 매우 유용합니다.
Dan

답변:


21

Homebrew에 이미 수식이있는 경우 (/ usr / local / Library / Formula에) 수식에 필요한 정확한 보관 파일 (예 : SHA1 또는 수식에서 사용하는 해시 유형에 따라 결정된 동일한 파일 이름 및 내용) ), ~ / Library / Caches / Homebrew에 아카이브를 넣은 다음 시도하십시오 brew install formula_name( 물론 formula_name에 올바른 이름을 사용하여 ).


2
Homebrew폴더는 존재하지 않지만 mkdir하나 후에 작동합니다 .
eccstartup

brew install나를 위해 일 brew install <package>하지 않았다. 감사!
Zayne S Halsall

오, 나는 그 암시를 남겼습니다. 나는 내 대답에 그것을 고치고있다.
echristopherson

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

1
다른 패키지이지만 동일한 요구 사항 인 -f가 작동하지 않는 것 같습니다. 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
같은 오류가 발생

4

5 년 동안 파티에 늦었지만

비결은 아카이브를 추출 캐시로 옮기는 것입니다. 상기 캐시는 손으로 찾기가 어려울 수있다. 다행히도, 당신은 필요가 없습니다. 으로 자체 추출을 요청하십시오 brew --cache.

이를 통해 bash에서 다음을 수행 할 수 있습니다.

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

물고기에서 번갈아 :

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

실행 후 brew install wget아카이브가 아카이브를 다운로드하고 있음을 알리고 즉시 아카이브가 "이미 다운로드 됨"이라는 사실을 알게되고 모든 것이 원활하게 진행됩니다.


2

수식 파일을 미리 다운로드 할 수 있지만을 사용하여 생성 할 수있는 올바른 캐시 파일 이름이 필요합니다 brew --cache -s <formula>.

예를 들어 Erlang 수식 brew --cache -s erlang의 경우 캐시 된 다운로드의 올바른 이름을 인쇄합니다. 즉, 수식 이름을 수동으로 바꾸는 대신 다음을 실행할 수 있습니다.

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

이것은 공식적인 현재 버전에서 작동하지만 현재 노드 12 대신 노드 11을 다시 설치하려는 경우 brew --cache -s 노드는 여전히 노드 12의 경로를 제공합니다. 이전 버전을 설치 하시겠습니까?
John Y

이 최신 BREW 버전 2.2.1와 함께 작동 하나입니다
LnxSlck

2

에 따르면 :

공식 파일을 수정하지 않으면 실제로는 아닙니다.

로컬 아카이브가 사전 빌드 파일 인 경우 Brew에서 '병'이라고합니다. 내가 파는 것은 다음과 같습니다.

추출 병은 MacOS 버전과 관련이 있습니다.

예를 들어 pkg-config를 사용하십시오.

여기에  https://bintray.com/homebrew/bottles/pkg-config#files/ , 서로 다른 맥 OS 버전에 대해 서로 다른 파일을 나열합니다.

올바른 파일을 다운로드 한 후 생성 할 수있는 올바른 경로로 파일을 이동해야합니다. brew --cache --force-bottle pkg-config

10.14의 경우 :

/Users/username/Library/Caches/Homebrew/downloads/dd6c78ec64b7c09961ccdb1bf873b5852fd93783cf25ae9b9399c5896a420462--pkg-config-0.29.2.mojave.bottle.tar.gz

10.13의 경우 :

/Users/username/Library/Caches/Homebrew/downloads/8b865a8ad8179d4a45289cab9267cc5e3a6153d06432d90cf1745caf5d92a64d--pkg-config-0.29.2.high_sierra.bottle.tar.gz

그런 다음 brew는 실행할 때 캐시 된 로컬 파일을 찾을 수 있습니다  brew install pkg-config. 그렇지 않으면 URL에서 계속 다운로드됩니다.


적어도 오늘의 양조 (필자의 경우 2.19 버전)의 경우 $ (brew --cache) 파일을 더 이상 작동하지 않습니다.


로컬 파일이 병이 아닌 소스 코드 인 경우 option으로 강제 설치하면 $ (brew --cache -s formula)로 이동합니다 --build-from-source.
gebitang

1

https://github.com/Homebrew/homebrew-cask/issues/21346 에 따르면

그러나 이제 소스 위치가 변경되면 컴퓨터에서 download_strategy.rb를 검색 할 수 있습니다

내 위치는 "/ usr / local / Homebrew / Library / Homebrew"입니다. 여기에 이미지 설명을 입력하십시오

그런 다음 rb 소스 파일 을 잠그 십시오 (또는 git 도구를 사용하여 자체 복원)

터미널에서 "brew install xxx"를 사용하려고하면 전체 파일 캐시 경로 위치를 얻게됩니다. 여기에 이미지 설명을 입력하십시오


0

Brew는 캐싱 전략을 업데이트했으며 다운로드 한 파일을에 넣고 ~/Library/Caches/Homebrew/downloads이름 지정 규칙을 따라야합니다.

brew로 다운로드를 시작하면 .incomplete파일 을 볼 수 있습니다. 예를 들어 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.incomplete, 파일 이름을로 바꿀 수 있습니다 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.