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.