Homeberw で not a valid keg の Error が出たときは、当該パスが空かどうかを見てみる

Homebrew で libffi をインストールしようとしたところ

Error: /usr/local/opt/libffi is not a valid keg

というエラーメッセージが出てしまいました。

Homebrew での用語としての Keg は「Formula のインストール先パス」とのこと(参考)らしいです。

この Keg が指している先に Formula の内容へのシンボリックリンクが置かれるらしい(参考)。そこで当該パスを覗いてみたところ、なぜか(普通の)ディレクトリが配置されていたため、こちらを退避して /usr/local/opt/libffi には何もないようにしてからもう一度インストール(brew install libffi)したところ、無事に成功しました。

ということで、/hoge/foo is not a valid Keg というエラーが出たときは、/hoge/foo が空かどうかを確かめてみると良いと思います。

参考