我目前在我的 OSX 机器上安装了同一个可执行文件的两个版本:一个位于 usr/bin 中,另一个是 Macports 安装。当我运行时which
,终端将位置返回到 usr/bin 版本。是否有统一的方法来更改默认安装,或者每个应用程序都有自己的命令选项吗?
您需要修改PATH
环境变量。这是用于在 Unix 下搜索可执行文件的标准。
当 Unix 上的某些内容查找具有相对路径(例如:clang
而不是/usr/bin/clang
)的应用程序时,PATH
将在:
字符上拆分,然后按顺序搜索。
例如:如果您PATH
是,/opt/local/bin:/bin:/usr/bin
那么clang
将寻找/opt/local/bin/clang
,如果缺少/bin/clang
,等等。
从技术上讲,每个进程都有自己的方式来做到这一点 - 没有什么强迫他们遵循 using 的约定$PATH
,但这种方式已经足够长了,几乎所有东西都这样做。
另一个考虑是每个进程都有自己的环境 -PATH
包含在其中的副本。这包括 launchd,它负责 UI 和从中启动的任何应用程序。
因此,您可以在您的 shell init 脚本(.bash_profile
、.bashrc
、.profile
等)中修改它,但是如果您将 vim 或 emacs 作为 GUI 应用程序启动,那么这将不起作用。
您还可以修改/etc/paths
或向 中添加文件/etc/paths.d
,这将构成一切标准环境的一部分——包括在 Mac 上启动的每个应用程序。(不过,您需要注销并重新登录才能使其渗透到系统的每个部分。)
归档时间: |
|
查看次数: |
4071 次 |
最近记录: |