如何在不麻烦 Homebrew 的情况下将外部包安装到 /usr/local?

How to install an external package to /usr/local without troubling Homebrew?

我正在尝试通过从源代码编译安装一个名为 Geant4 的包(HomeBrew 实际上有这个包,但它是一个旧版本,不支持我需要的 Python)。

我想把 Geant4 包放在 /usr/local/geant4 中(也许这不适合放在 OSX 中?)。

现在,Homebrew FAQ 有一些关于如何安装外部东西的说明,但是当我这样做时 brew diy,我收到错误消息:

Error: Couldn't determine build system

我应该用来配置 Geant4 的命令是:

cd ~/my-build-directory
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/geant4 ~/Downloads/geant4.10.01.p01

brew diy 努力确定如何构建包,但它并不总是正确的。对于自定义包,最好将它们安装到 $(brew --prefix)/Cellar/$package/$version 中,就像 Homerew 那样——这样,您就可以使用 brew link 等与包进行交互。您 也可以将其安装到 /usr/local 或您喜欢的任何地方,但模仿 Homebrew 效果非常好。

在你的情况下,你可能会用类似的东西安装它:

cd /my-build-directory
cmake -DCMAKE_INSTALL_PREFIX=$(brew --prefix)/Cellar/geant4/10.01.p01 ~/Downloads/geant4.10.01.p01
brew link geant4