使用 MacPorts 安装到 /opt/local/bin 以外的其他目录

4 mac macports macos

我的机器之间存在一致性问题,因为我必须明确指定某些项目(如 Image Magick)的命令路径。Port 将它们安装到 /opt/local/bin,但为了一致性,我想安装到 /usr/local/bin。我该如何指定?

Stu*_*son 8

就像/opt/local/bin我们其他人一样,只需添加到您的路径中即可。你可以在~/.profile

试图强迫它 /usr/local/bin

  • 是不必要的努力
  • 存在可执行文件或库与恶意冲突的风险以及潜在的灾难性影响

  • 要么使用 MacPorts,要么不使用:无论哪种方式,您都应该避免使用 /usr (2认同)

mmm*_*mmm 5

Macports 真的不喜欢在 /usr/local 中。来自MacPorts 常见问题解答

选择 /opt/local 是为了避免在其他各种安装上踩踏(例如 fink 使用 /sw 来做同样的事情);/usr/local 不是一个可行的选择,原因如下:

  1. 某些软件(尤其是 Gnu 的 auto* 工具)将 /usr/local 视为默认位置,这意味着 MacPorts 在需要时无法轻松隔离
  2. /usr/local 通常保留给给定系统的管理员以安装该系统本地的项目,并且往往是由非系统端口系统接管的错误选择
  3. gcc 认为 /usr/local 是标准的系统目录,导致(至少)包含目录无法出现在包含目录列表的早期,因此导致 MacPorts 安装的项目难以正确用于以下项目:需要它们(在其他地方安装了另一个版本,例如 /usr/X11R6)

此外,如果您有来自不同来源的安装,您确定它们是完全相同的版本。如果不是,那么您将遇到奇怪的构建和运行时问题。

毕竟,如果您仍然想尝试我们这种不受支持的方法,并且您无法使用路径来查找我怀疑让您的代码在 /opt/local/bin 然后 /us/local/bin 中查找会更容易选择它找到的一个(如果两者都在那里会发生什么)