Featured image of post brew cask uninstallできない「undefined method `release'」の対処

brew cask uninstallできない「undefined method `release'」の対処

Homebrew Caskで「undefined method `release' for OS::Mac:Module」が出てbrew cask uninstallできないときの対処法。Caskroom配下と/Applications配下のファイルを手動で削除します。自己責任で♪

1225文字

アンインストールが出来ない・・・

本来はチョチョイとアンインストール出来るはず

Homebrew Caskはとても便利なので利用しているMacユーザーの方は多いと思います。
インストールに加えアンインストールも以下のようにさくさくっと出来てしまいます。

Homebrew Cask アンインストール
brew cask uninstall {パッケージ名}
==> Uninstalling Cask {パッケージ名}
==> Backing App '{パッケージ名}.app' up to '/usr/local/Caskroom/{パッケージ名}/v.x.y.z/{パッケージ名}.app'.
==> Removing App '/Applications/{パッケージ名}.app'.
==> Purging files for version v.x.y.z of Cask {パッケージ名}

こんな感じで簡単にGUIアプリの管理をする事が出来ます。

エラーが出てしまう

しかし、に以下のようなエラーが出てアンインストールが出来ない場合が発生します。

Homebrew Cask アンインストール
brew cask uninstall {パッケージ名}
Error: undefined method `release' for OS::Mac:Module
Follow the instructions here:
  https://github.com/caskroom/homebrew-cask#reporting-bugs
/usr/local/Caskroom/{パッケージ名}/.metadata/latest/20160517135146.887/Casks/{パッケージ名}.rb:2:in `block in load'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask.rb:23:in `instance_eval'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask.rb:23:in `initialize'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask_loader.rb:31:in `new'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask_loader.rb:31:in `cask'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask_loader.rb:67:in `cask'
/usr/local/Homebrew/Library/Homebrew/compat/hbc/cask_loader.rb:10:in `cask'
/usr/local/Caskroom/{パッケージ名}/.metadata/latest/20160517135146.887/Casks/{パッケージ名}.rb:1:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask_loader.rb:57:in `instance_eval'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask_loader.rb:57:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cask_loader.rb:170:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb:19:in `block in run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb:12:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb:12:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb:35:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:98:in `run_command'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:168:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:132:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:8:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:101:in `<main>'

こうなってしまうと、通常のuninstallコマンドでは消せなくなってしまいます。。。

なので、別のコマンドを利用して削除する必要があります。

手順

作業前に

今回使用するコマンドは間違えるとMacが使えなくなり復元も出来ない状態にしてしまう恐れのあるコマンドです。
実行する際はコマンド内容をチェックの上、自己責任でお願い致します。

/opt/homebrew-cask/Caskroom/配下のファイルを削除

Homebrew Caskでインストールしたアプリは/opt/homebrew-cask/Caskroom/に保存されるので、そのファイルを削除する必要があります。
以下のコマンドを実行してください。

command
rm -rf /opt/homebrew-cask/Caskroom/{アプリ名}

/Applications/配下のファイルを削除

Homebrew Caskのインストール先を/Applications/にしている場合は、そちらも削除する必要があるので以下のコマンドを実行してください。

command
rm -rf /Applications/{アプリ名}.app

確認

では、実際にアンインストールされたか確認してみましょう。
今回はskypeのアプリでエラーが発生したので削除しました。

command
brew cask list
alfred                    docker                    google-chrome             night-owl                 sourcetree                xquartz
android-file-transfer     dropbox                   hyperswitch               opera                     tableau
astah-community           eclipse-ide               iterm2                    pgadmin3                  the-unarchiver
atom                      electron-api-demos        karabiner                 quicklook-csv             vagrant
burn                      firefox                   libreoffice               quicklook-json            virtualbox
chatwork                  gimp                      mysqlworkbench            slack                     visual-studio-code

正常にskypeが削除されていますね。

終わりに

今回のように、便利なツールもたまに正常に動かない事があります。

しかし、有名なツールほどインターネット上で同じ問題にぶつかった人の記事が転がっているので、諦めずにGoogle先生等で解決策を探してみてください。