Eski fıçılar Homebrew'dan nasıl kaldırılır?


9

Uygulama ekosistemimi güncel tutmak için homebrew-cask kullanıyorum . Evde, seyahatte veya hareket halindeyken birkaç bilgisayarı korurken harikadır.

Ancak, bazı paketler (Google Chrome gibi) güncellenirken, farklı eşzamanlı sürümleri yükledim (ve işletim sistemi tarafından görülen):

$ ls / opt / homebrew-cask / Caskroom / google-chrome / en son kararlı kanal

Bir fıçı yükseltilirken bu olur:

$ 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 ~

Yalnızca en güncel olanı nasıl saklayabilirim?


Eğer denedi brew cleanupve brew prune?
dwightk

evet denedim ama fıçılar için geçerli değil ...
meduz

1
Bu görünüşte tartışıldı @ github.com/caskroom/homebrew-cask/issues/309
meduz

Hala bir cevap arıyorum. Son denemelerim, çok ekolojik değil, tüm uygulamaları kaldırmayı ve yeniden yüklemeyi içeriyor.
meduz

Yanıtlar:


1

Terminal'e şunu yazın:

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

İpucu: Yukarıdaki komut satırını kopyalayıp Terminal'e yapıştırın.


ve birden fazla soruya aynı cevabı vermeyin. Sorular aynı şekilde cevaplanırsa, soru kopya olarak işaretlenmeli / kapatılmalıdır
user151019

merhaba @name, ne yaptığını bilmek için cevabınızı düzenleyebilir misiniz, şifreli görünüyor (günün alıntısı: "stackoverflow çözümler değil, cevaplar hakkında" :-))
meduz

Komut dosyasına verilen karmaşık komut satırını değiştirerek bu yayını düzenlemeye çalışan kişilere lütfen durun! Yazar bunu bir komut dosyası olarak değil, karmaşık bir komut satırı olarak yazdı. Lütfen yazarların bunu komut dosyası olarak değil, karmaşık bir komut satırı olarak gönderme kararına saygı gösterin!
user3439894

Eğer değişim için gereken yeni Homebrew Caskroom konumu ile hatırla /opt/homebrew-cask/Caskroom/için /usr/local/Caskroom/.
Spotlight

Gelecekte bunu çalıştıranlar için sadece bir FYI, tüm fıçılarımı kaldırıyor / yeniden yüklüyor gibi görünüyor. Yüklü sürümümü düzgün algılamıyor gibi görünüyor mu? "[*] Fıçı listesinde atom bulundu. Kullanılabilir en son sürüm 1.11.2.
Sürümleri yüklediniz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.