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

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

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

答案1

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

试图强迫它/usr/local/bin

  • 是不必要的努力
  • 存在可执行文件或库与恶意文件发生冲突的风险,并可能造成灾难性影响

答案2

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 中查找,然后选择它找到的那个会更容易(如果两者都在那里会发生什么)

答案3

如果你知道自己在做什么,可以按照以下方法操作:

安装Mac 端口来源

相关内容