(您显然不能像标题所暗示的那样“将预安装的应用程序/软件包转换为 Homebrew”;您必须删除它们并安装 brew 替代品。鉴于您的问题文本,您显然已经知道这一点,所以我并不是说这是光顾之类的,以防其他读者感到困惑。)
真的没有什么可以自动做你想做的事。如果你仔细想想,真的不可能——如果你在没有包管理器的情况下安装了一些东西,那么就没有安装过程的记录,所以没有办法自动卸载它。
在某些情况下,您只需 cd 进入源代码并“进行卸载”即可。在其他情况下,您可以查看 brew 将安装的内容,并假设您的 pre-brew 安装创建了完全相同的文件集。(我想你甚至可以用脚本自动化它。)安装至少会告诉你它失败的原因,以及你必须删除哪些文件(你也可以用脚本自动化——尽管如果你只完全删除那些你经常会留下很多配置/等信息的文件)。
但无论如何,如果您希望 brew 和非 brew 的东西共享 /usr/local (这通常有效,并且似乎是官方推荐的),您必须手动处理冲突,因为它们出现了。
有关更多信息,请参阅常见问题解答(如果您还没有)。
如果你想避免痛苦,有几种方法可以做到这一点。以下是选择:
清除 /usr/local 中的所有内容,重新安装 brew,然后重新安装您需要的所有内容(最好使用 Homebrew 版本——如果它们不存在,您通常可以非常轻松地创建自己的公式)。您可能想要备份旧的 /usr/local,以防万一您以后发现“您需要的一切”不完整……这显然是最干净的解决方案,但这意味着重复您已经完成的工作。
将 /usr/local 重命名为 /opt/oldusrlocal 之类的名称,将其放在 /usr/local 之后的路径上,然后让 Homebrew 完全管理 /usr/local。这可能会破坏一些在构建/安装过程中存储绝对路径的包,这意味着您必须重新构建它们(这是切换到 brew 版本的好机会),而且它看起来很hacky,但它工作得很好。
像上面一样重命名 /usr/local,不要把它放在你的路径中,当你发现你需要它时,手动将东西符号链接到 /usr/local 中。
在 /usr/local 之外的某个地方安装 brew(并将其放在 /usr/local 之前的路径上)。正如 Homebrew FAQ 所解释的那样,有一些公式(以及 egss/gems/etc. 之外的公式)不能正常工作(因为几乎每个人都针对 /usr/local 进行测试),但它是可行的。