我想安装多个版本的 Ruby(或任何 Homebrew 软件包),但不链接其中任何一个。基本上,我想将任何配方视为仅 keg。
我似乎找不到办法做到这一点,尽管这似乎很简单。我以为会有类似的东西brew install --no-link <formula>
。
有什么办法可以做我想做的事,或者有什么理由认为这是一个坏主意?
我真的很想使用 Homebrew 来安装 Ruby 版本,并使用 rbenv 来管理它们。
答案1
您所要做的就是编辑默认配方并根据您的目的对其进行自定义,即仅限桶装。实际上,制作您自己的自定义配方版本非常容易,而且一旦您编辑了配方,Homebrew 就会保留您的个性化版本以供将来使用。
因此,只需编辑公式文件(针对您打算安装的特定 tap 版本)并keg_only "My reason for making this keg-only"
在公式类中添加,例如在desc
命令后直接在新行中添加。
如果你之前没有编辑过公式,读这几行从 Homebrew 的常见问题解答中了解如何操作:
我可以自己编辑公式吗?
是的!很简单!只需
brew edit $FORMULA
。您无需将修改提交回自制/自制,只需根据个人需要编辑公式即可brew install
。作为奖励,brew update
它将与上游合并您的更改,以便您仍然可以保持公式的最新状态 和您的个人修改!
答案2
您可以运行brew install <formula>
然后brew unlink <formula>
删除所有链接。
答案3
我不确定 Ruby,但对于许多软件来说,您可能只想下载源代码并调整 make 文件,或者使用 autoconf 配置脚本的标志来指定您想要的安装目录,然后您可以从那里运行它。
(From configure --help output)
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]