現在インストールして利用しているパッケージのインストール先を取得したい。
雑実装でいかのように確認した
#!/bin/sh
function brew_installed_path() {
FORMULA=$1
CELLAR_PATH=$(brew --cellar $FORMULA)
INSTALL_VERSION=$(brew info --json=v1 $FORMULA | jq -r "map(.linked_keg)[0]")
echo $CELLAR_PATH/$INSTALL_VERSION
}
利用例
$ brew_installed_path git
/usr/local/Cellar/git/2.16.2
解説
brew --cellar $FORMULA
でインストール先はわかるが、homebrewは複数のバージョンがインストールされている。現在linkされているバージョンがわからなければならない。
brew info --json=v1 $FORMULA
を使うとformulaに関連する情報が得られる。linked_kegにlinkしているバージョンがはいっていたので、それを利用した。