Homebrew에서 오래된 통을 제거하는 방법?


9

내가 사용하고 사제-통을 최신 응용 프로그램 내 생태계를 유지. 집이나 여행 중 또는 이동 중에 여러 대의 컴퓨터를 유지 관리 할 때 유용합니다.

그러나 일부 패키지 (예 : Chrome)가 업데이트되면 다른 동시 버전이 설치되고 OS에서 볼 수 있습니다.

$ ls / opt / homebrew-cask / Caskroom / google-chrome / 최신 안정 채널

캐스 크를 업그레이드 할 때 발생합니다.

$ ls -l /opt/homebrew-cask/Caskroom/tunnelblick
total 0
drwxr-xr-x 5 foo staff 238 Mar 11 07:42 3.3.0
drwxr-xr-x 5 foo staff 238 May 13 13:53 3.3.2
[13:00:40] foo at bar in ~
$ brew cask install --force tunnelblick
==> Caveats
For security reasons, Tunnelblick must be installed to /Applications and will request to be moved at launch.

==> Downloading https://downloads.sourceforge.net/project/tunnelblick/All%20files/Tunnelblick_3.3.4.dmg
######################################################################## 100.0%
==> It seems there is already an App at '/Applications/Tunnelblick.app'; not linking.
🍺  tunnelblick installed to '/opt/homebrew-cask/Caskroom/tunnelblick/3.3.4' (236 files, 20M)

$ ls -l /opt/homebrew-cask/Caskroom/tunnelblick
total 0
drwxr-xr-x 5 foo staff 238 Mar 11 07:42 3.3.0
drwxr-xr-x 5 foo staff 238 May 13 13:53 3.3.2
drwxr-xr-x 5 foo staff 238 Jun 26 13:01 3.3.4
[13:01:26] foo at bar in ~

최신 정보 만 유지하려면 어떻게합니까?


당신이 시도 brew cleanup하고 brew prune?
dwightk

네 시도했지만 통에는 적용되지 않습니다 ...
meduz

1
이것은 분명히 @ 논의 github.com/caskroom/homebrew-cask/issues/309
meduz

아직도 답을 찾고 있습니다. 저의 최근 시도는 생태 학적이지 않은 모든 응용 프로그램을 제거하고 다시 설치하는 것입니다.
meduz

답변:


1

터미널에 다음을 입력하십시오.

for app in $(brew cask list); do cver="$(brew cask info "${app}" | head -n 1 | cut -d " " -f 2)"; ivers=$(ls -1 "/opt/homebrew-cask/Caskroom/${app}/.metadata/" | tr '\n' ' ' | sed -e 's/ $//'); aivers=(${ivers}); nvers=$(echo ${#aivers[@]}); echo "[*] Found ${app} in cask list. Latest available version is ${cver}. You have installed version(s): ${overs}"; if [[ ${nvers} -eq 1 ]]; then echo "${ivers}" | grep -q "^${cver}$" && { echo "[*] Latest version already installed :) Skipping changes ..."; continue; }; fi; echo "[+] Fixing from ${ivers} to ${cver} ..."; brew cask uninstall "${app}" --force; brew cask install "${app}"; done

힌트 : 위의 명령 줄을 복사하여 터미널에 붙여 넣습니다.


하나 이상의 질문에 대해 같은 대답을하지 마십시오. 질문은 다음 같은 대답하면 질문이 중복으로 폐쇄 / 플래그되어야한다
user151019

@name 안녕하세요, 당신이 무엇을 알고 답변을 편집 할 수있는, 비밀 (오늘의 내 견적 : "유래는하지만, 대답에 대한, 아니 솔루션에 관한 것입니다":-)) 것
meduz

주어진 복잡한 명령 줄을 스크립트로 변경 하여이 게시물을 계속 편집하려는 사람들에게 중지하십시오! 저자는 스크립트가 아니라 복잡한 명령 행으로 작성했습니다. 저자의 결정을 스크립트가 아닌 복잡한 명령 행으로 게시하십시오!
user3439894

당신이 변화를 필요로하는 새로운 브루 Caskroom 위치와 함께 기억 /opt/homebrew-cask/Caskroom//usr/local/Caskroom/.
스포트라이트

미래에 이것을 실행하는 사람들을위한 참고로, 내 통을 모두 제거 / 재설치하는 것 같습니다. 설치된 버전을 제대로 감지하지 못하는 것 같습니까? "[*] 캐스 크 목록에서 원자를 찾았습니다. 사용 가능한 최신 버전은 1.11.2입니다. 버전을 설치했습니다 :"
Glenn 'devalias'11
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.