定義エラーのため、一部のキャスクをアンインストールまたはアップグレードできません。
F.e.アップデートまたはアップグレードを実行した場合:
brew cask upgrade the-unarchiver
Error: Cask 'the-unarchiver' definition is invalid: invalid 'depends_on macos' value: ":lion"
brew cask uninstall the-unarchiver
Error: Cask 'the-unarchiver' definition is invalid: invalid 'depends_on macos' value: ":lion"
数式で編集できるものがあるかどうかを確認しようとしましたが、このエラーに関連するものは見つかりませんでした。
cask 'the-unarchiver' do
version '4.1.0,121:1549634528'
sha256 'ff97b168f07d084e88f48e5d1e5202445596acd6eec39685d28910ee71d3a74b'
# devmate.com/com.macpaw.site.theunarchiver was verified as official when first introduced to the cask
url "https://dl.devmate.com/com.macpaw.site.theunarchiver/#{version.after_comma.before_colon}/#{version.after_colon}/TheUnarchiver-#{version.after_comma.before_colon}.Zip"
appcast 'https://updates.devmate.com/com.macpaw.site.theunarchiver.xml'
name 'The Unarchiver'
homepage 'https://theunarchiver.com/'
auto_updates true
app 'The Unarchiver.app'
zap trash: [
'~/Library/Caches/cx.c3.theunarchiver',
'~/Library/Cookies/cx.c3.theunarchiver.binarycookies',
'~/Library/Preferences/cx.c3.theunarchiver.plist',
'~/Library/Saved Application State/cx.c3.theunarchiver.savedState',
]
end
Homebrew caskの開発者は、メンテナンスのオーバーヘッドが高いため、maverics以前の依存関係のサポートを削除しました。バグが発生したようです。
それを修正する方法は実行することです:
/usr/bin/find "$(brew --prefix)/Caskroom/"*'/.metadata' -type f -name '*.rb' -print0 | /usr/bin/xargs -0 /usr/bin/Perl -i -0pe 's/depends_on macos: \[.*?\]//gsm;s/depends_on macos: .*//g'
この解決策、このエラーの理由、および詳細については、以下を参照してください。
zap
を使用してキャスクを削除すると、うまくいきました:
brew cask zap the-unarchiver
brew cask install the-unarchiver