我的机器之间存在一致性问题,因为我必须明确指定某些项目(如 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 并不是一个可行的选择:
- 某些软件(尤其是 Gnu 的 auto* 工具)将 /usr/local 视为默认位置,这意味着在需要时无法轻松隔离 MacPorts
- /usr/local 通常为给定系统的管理员保留,用于安装该系统本地的项目,并且通常不适合由非系统端口系统接管
- gcc 将 /usr/local 视为标准系统目录,导致(至少)包含目录无法出现在包含目录列表的早期,从而导致 MacPorts 安装的项目难以正确用于需要它们的项目(在其他地方安装了另一个版本,如 /usr/X11R6)
此外,如果您从不同的来源安装,您确定它们是完全相同的版本吗?如果不是,那么您将遇到奇怪的构建和运行时问题。
如果在所有这些之后您仍然想尝试使用这种不受支持的方法,而您只是无法使用路径来查找东西,我怀疑让您的代码在 /opt/local/bin 中查找,然后在 /us/local/bin 中查找,然后选择它找到的那个会更容易(如果两者都在那里会发生什么)
答案3
如果你知道自己在做什么,可以按照以下方法操作:
安装Mac 端口来源。