Answers:
核心答案:您可能想要/usr/local/bin
。根据您的macOS最新版本,您可能需要更新default $PATH
。有关更多详细信息,请参见下文。
更新2018年1月 12日自从我写了最初的答案以来,Apple更改了默认值$PATH
。结果,我在下面说的很多内容与最新的Mac无关。如果您首先键入echo $PATH
一个终端,/usr/local/bin
则可以忽略下面有关更改的所有内容$PATH
。
原始答案
Mac在这方面是不寻常的。$PATH
普通用户的默认变量如下所示:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
通过将/usr/local/bin
后 /usr/bin
和/bin
,苹果颠覆了通常的系统。通常,您可以放一些东西/usr/local/bin
(例如,以某种非标准方式编译的第二个Perl解释器),然后普通用户将首先使用自定义的,而不是系统级的。很好 用户可以获得变体,但系统保持纯净。$PATH
但是,鉴于Apple的默认设置,/usr/bin
或中的项目/bin
将在中的任何内容之前找到/usr/local/bin
。(这基本上违背了安装目的,例如在中自定义Perl /usr/local/bin
。)
要解决此问题,您可以$PATH
通过编辑.profile
用户主目录中的文件来更改常规用户的身份。(如果您使用的是全新安装,则该文件可能不存在。在这种情况下,请创建它。)
半相关:Homebrew为Mac提供了出色的软件包管理。默认情况下,Homebrew将软件安装到中/usr/local
,但这样做的方式非常容易将其删除并稍后返回到原始状态。
/usr/local/bin
并且/usr/local/sbin
非常值得添加到您的路径中,因为许多用于源代码构建的makefile默认安装在此处。
如果你使用的MacPorts,它的价值增加/opt/local/bin
,并/opt/local/sbin
为好。
最好的方法是添加
export PATH=/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:$PATH
到.bashrc
主目录中的文件(已隐藏,因此CLI是执行此操作的最佳方法),或者,如果要更改系统范围的路径,请在同一行添加/etc/bashrc
(不隐藏),但是您将需sudo
要这样做。
如果您.bashrc
在任何用户的家中都没有,则可以创建一个并将其添加到该行中,但是请记住更改对您创建的文件的权限,以使相关用户可以读取该文件(如果您不愿意,则显然不相关)重新为您自己的个人资料进行操作)。
将$PATH
在年底追加的系统默认路径,无论你把之前。请注意,系统按照给定路径的顺序搜索二进制文件,因此,如果在系统中安装二进制文件/usr/local
或/opt/local
默认情况下也安装了二进制文件,则会首先找到您安装的版本,这可能会(尽管很少)使您感到不安。值得提防。
好信息在这里。
我应该注意,以上假设是您在外壳上使用Bash,这是Mac OS X v10.4(Tiger)和Mac OS X v10.5(Leopard)的默认设置,而不是在较早的系统上使用的Bashtcsh
,语法不同。
希望对您有帮助...
/usr/local/bin
已经在默认的OS X中$PATH
(尽管为时已晚-请参阅我的答案)。如果您使用MacPorts,其安装程序应根据需要编辑您的路径-至少在我的经验中一直如此。话虽如此,对于用户来说知道它在做什么(以及为什么)是一件好事。
open
以文件名作为参数的命令,并且应该使用默认文本编辑器(默认为TextEdit)打开该命令。
我倾向于去/usr/local
。这是一个很好的解释为什么,它指的是Filesystem Hierarchy Standard(FHS) .,其中转身说/usr/local
:
本地数据的三级层次结构,特定于此主机。通常具有其他子目录,例如bin,lib,share。