如何同时使用 macports 和 homebrew 包管理系统而不让它们以不好的方式相互干扰?
最佳答案
最好只使用一个包管理器并卸载其他包管理器。例如,如果您想使用 MacPorts,但您需要的程序不在 MacPorts 中,请考虑 filing a MacPorts port request ticket .
如果您坚持必须安装多个包管理器,那么请将它们全部安装在非标准前缀中。 MacPorts 的默认前缀是/opt/local。 Homebrew 默认为/usr/local。 Fink 使用/sw。手动从源代码构建每个包管理器,为每个包管理器选择一个不同于前面所有默认路径的唯一安装前缀。这是为了确保对这些包管理器的默认路径具有硬编码知识的软件包不会无意中从错误的包管理器中找到依赖项。
当您使用 MacPorts 安装端口时,它会清除大部分环境变量;这是为了确保即使您在 $PATH
中有/usr/local/bin 和/sw/bin,MacPorts 也不会在那里找到东西。我不知道 Homebrew 和 Fink 是否也这样做;如果他们不这样做,请在使用 Homebrew 或 Fink 安装任何东西之前更改您的 $PATH
,使其不包含具有潜在第三方依赖项的位置。
关于macos - 如何一起使用 macports 和 homebrew 包管理系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884598/