我正在寻找一种方法来确定包含版本号的 Homebrew 公式的安装路径。
目前我知道以下命令,
酿造——地窖猪
将会返回,
/usr/local/地窖/猪
然而,实际的安装路径是,
/usr/local/Cellar/pig/0.15.0
安装新/旧版本时会发生变化。
有没有办法使用brew命令或命令行来获取这些信息?
根据 Christopher Gentle 的提示,我做了以下功能:
brew_path (){
brew list $1 | head -1 | sed "s/\(^.*\/$1\/[^\/]*\).*/\1/"
}
示例:
brew_path opencolorio
/usr/local/Cellar/opencolorio/1.1.0
您可以使用
brew list <package>
并剪切到该版本。
例如:
$ brew list hbase | head -1 | sed 's/\(^.*\/hbase\/[^\/]*\).*/\1/'
/usr/local/Cellar/hbase/1.1.5
更新:请参阅this更多最新解决方案。
我发现@melMass函数中的
brew list $1
命令运行得太慢,无法在我的~/.bash_profile
中重复使用,所以这里的版本应该更快,但假设所有包路径都在$(brew --cellar $1)
中的版本子目录下:
brew_path() {
local p _p
while read _p; do
p=$_p
done < <(
pwd "$(brew --cellar $1)"/*
)
echo $p
}
示例:
$ brew_path pcre
/usr/local/Cellar/pcre/8.45