Homebrewから古い樽を削除する方法は?


9

アプリケーションのエコシステムを最新の状態に保つために自作キャスクを使用しています。自宅、旅行、または外出先で複数のコンピュータを保守する場合に最適です。

ただし、一部のパッケージ(Google 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 cleanupbrew prune
ドワイトク2014年

はい、試してみましたが、樽には適用されません...
メデューズ2014年


まだ答えを探しています。私の最近の試みは、すべてのアプリケーションを削除して再インストールすることであり、あまり環境に配慮していません。
メデューズ2016

回答:


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さん、解答を編集して、それが何をするかを知ることができますか、それは不可解なようです(今日の私の引用:「stackoverflowはソリューションではなく、解答についてです」:
meduz

与えられた複雑なコマンドラインをスクリプトに変更してこの投稿を編集しようとし続ける人たちには、止めてください!作者はスクリプトではなく、複雑なコマンドラインとしてそれを書きました。スクリプトではなく、複雑なコマンドラインとして投稿するという作者の決定を尊重してください!
user3439894 2016年

に変更/opt/homebrew-cask/Caskroom/する必要がある新しいHomebrew Caskroomの場所を覚えておいてください/usr/local/Caskroom/
スポットライト

将来これを実行する人のための参考までに、私の樽のすべてをアンインストール/再インストールしているようです。インストールされているバージョンを正しく検出していないようですか?「[*]キャスクリストにアトムが見つかりました。利用可能な最新バージョンは1.11.2です。バージョンをインストールしました:」
Glenn 'devalias'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.