Homebrewでアプリをアンインストールしたら Error: {app} is not installedが出て怒られた

macでアプリの管理はHomebrewを使っています。 思い立って不要なファイルをアンインストールしようと brew cask uninstall {app}としたら Error: {app} is not installedと出てできなかったので、ちょっと調べてみたのでメモ。

まずは手順を

# まずはbrew でインストールしているアプリを確認
$ brew cask list                                               ⏎
adobe-creative-cloud                     kobito (!)
alfred                                   macvim
appcleaner                               magican
atom                                     mamp
bartender                                mi
bettertouchtool                          minbox
bitbar                                   mplayerx
caffeine                                 node (!)
ccleaner                                 skype
clipmenu                                 slicy
divvy                                    sophos-anti-virus-home-edition (!)
dropbox                                  sourcetree
eclipse-ide                              sublime-text
evernote                                 sublime-text3 (!)
filezilla                                textwrangler
firefox                                  the-unarchiver
genymotion                               totalfinder
gimp                                     vagrant
google-chrome                            virtualbox
google-hangouts                          visual-studio-code
google-japanese-ime                      vlc
hyperswitch                              vmware-fusion
inkscape                                 xampp
iterm2                                   xquartz
karabiner                                yabumi

# slicyは使ってないのでアンインストール
$ brew cask uninstall slicy
Error: slicy is not installed <= どうして・・・

こんな感じでアンインストール出来ない・・・。

わからないときはググってみる

error * is not installed homebrewアタリでググって見ると結構見つかるけど、今回はこの記事が見つかった。

qiita.com

ここに手動で消す方法が紹介されていたので、やってみる

# /Users/{user}/Applications/~
$ ll slicy.app
ll /Users/{user}/Applications/Slicy.app                        ⏎
lrwxr-xr-x  1 root  staff    42B Sep  3 07:11 /Users/{user}/Applications/Slicy.app -> /usr/local/Caskroom/slicy/latest/Slicy.app

# 削除
$ rm -f /Users/{user}/Applications/Slicy.app
$ rm -rf /usr/local/Caskroom/slicy/latest/Slicy.app

# 確認
$ brew cask list

ここまでやってSlicyがなくなっていればOK

どうしてこうなるの?

どうしてこうなるのか気になったので、調べてみた。

github.com

これによると、インストールした時と違うバージョンがインストールされていると起こる問題らしい。

この中で、「brew cask uninstall --force で全てのバージョンを消せるよ」って言っているのでやってみた。

# まずはbrew でインストールしているアプリを確認
$ brew cask list                                               ⏎
adobe-creative-cloud                     kobito (!)
alfred                                   macvim
appcleaner                               magican
atom                                     mamp
bartender                                mi
bettertouchtool                          minbox
bitbar                                   mplayerx
caffeine                                 node (!)
ccleaner                                 skype
clipmenu                                 slicy
divvy                                    sophos-anti-virus-home-edition (!)
dropbox                                  sourcetree
eclipse-ide                              sublime-text
evernote                                 sublime-text3 (!)
filezilla                                textwrangler
firefox                                  the-unarchiver
genymotion                               totalfinder
gimp                                     vagrant
google-chrome                            virtualbox
google-hangouts                          visual-studio-code
google-japanese-ime                      vlc
hyperswitch                              vmware-fusion
inkscape                                 xampp
iterm2                                   xquartz
karabiner                                yabumi

# divvyをアンインストール
$ brew cask uninstall --force divvy

# 確認
$ brew cask list   

これでdivvyがなくなっていればOK。

Homebrew はアプリのインストールが楽だからついつい消し忘れのアプリが増えてしまいがちだけど、定期的に見直してきれいにしましょー