如何修改Homebrew的PATH?


149

尝试安装ruby 1.9.3时,请阅读我需要先安装自制软件。冲泡啤酒的医生,这给了我很多警告。其中之一是:

警告:/ usr / bin出现在/ usr / local / bin之前,这意味着将使用系统提供的程序代替Homebrew提供的程序。两条路径中都存在以下工具:

easy_install
easy_install-2.6

考虑修改PATH,以使/ usr / local / bin在PATH中位于/ usr / bin之前。

在这里,人们如何要求?


1
我认为@AristotlePagaltzis 对SuperUser回答提供了最佳解决方案,允许您的系统应用程序继续使用/usr/bin,同时有选择地符号链接要使用的Homebrew可执行文件,而不是Apple附带的版本,例如Git。

@mrdavidjcole:fengd没有回答这个问题?
fotinsky

堆栈溢出是一个用于编程和开发问题的站点。这个问题似乎与主题无关,因为它与编程或开发无关。请在帮助中心中查看我可以询问哪些主题。也许超级用户Apple Stack Exchange是更好的选择。另请参阅我在哪里发布有关Dev Ops的问题?
jww '16

Answers:


298

打开/ etc / paths文件,将/ usr / local / bin放在/ usr / bin的顶部

$ sudo vi /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

然后重新启动终端,@ mmel


9
进行此更改后,请重新加载环境或启动新的终端。
mmell,

4
与此不同-应该使用以下答案-时间机器等不会选择此更改,我认为是外部用户文件夹。
伊恩·华纳

如果您的问题是RVM和Homebrew似乎都在争夺.bash_profile文件中的同一房地产,这也是我找到的最佳解决方案。
MCB

我不会编辑/ etc / paths; 相反,使用/ .bash_profile中方法中的别处所描述的.profile文件(例如,通过以下或者更偏执的做法@avelis答案,看到的第一个评论引用上的超级用户AristotlePagaltzis答案。
rholmes

1
您可能想尝试使用nano终端文本编辑器,而不是via。我发现这更易于使用。“ sudo nano / etc / paths”而不是“ sudo vi / etc / paths”。
tbradley22

77

有很多方法可以更新您的路径。6月1日的答案效果很好。另一种方法是增强您的.bash_profile能力:

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

上方/usr/local/bin/usr/local/sbin前方的线$PATH。一旦你采购.bash_profile或启动一个新的终端,你可以验证你的路径回声 “荷兰国际集团出来。

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/Users/<your account>/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

一旦对结果满意,$ brew doctor再次运行将不再产生错误。

这篇博客文章帮助我解决了遇到的问题。http://moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/


2
@JanuszChudzynski对于Jun1st的解决方案,可能是您必须重新启动命令行会话才能看到更改。
avelis 2012年

自制日的最新版本:考虑设置PATH,以便/ usr / local / bin出现在/ usr / bin之前。这是一个单行代码:echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile。这基本上就是这个答案所暗示的。
nacho4d

但是我怀疑这是正确的方法。参见以下内容:更改前:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin更改:echo export PATH="/usr/local/bin:$PATH >> ~/.bash_profile更改后:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 这意味着,如果在/ usr / local / bin中找不到命令,则可能会搜索两次该命令,然后才能在另一路径中找到该命令。我认为最好更改/etc/paths文件
nacho4d

$ echo'export PATH =“ / usr / local / bin:$ PATH”'>>〜/ .bash_profile给我$ PATH“'>>〜/ .bash_profile -bash:$:找不到命令
Mamba,2015年

@rpeg我敢肯定,如果您在网络上搜索教程,则有很多资源,但这是我所知道的。linux.com/learn/tutorials/272346-bash-101-working-at-the-cli
avelis

19

只需在您喜欢的终端应用程序中运行以下行:

echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

重新启动终端并运行

brew doctor

这个问题应该解决


3
如果您使用的是zsh,请使用此命令echo'export PATH =“ / usr / local / sbin:$ PATH”'>>〜/ .zshrc
kareem

1

在textEdit中打开bash配置文件

打开-e .bash_profile

编辑文件或粘贴到PATH导出的前面PATH = / usr / bin:/ usr / sbin:/ bin:/ sbin:/ usr / local / bin:/ usr / local / sbin:〜/ bin

保存并关闭文件

*要打开.bash_profile,直接打开textEdit> file>最近


0

为了避免不必要的重复,我在〜/ .bash_profile中添加了以下内容

case ":$PATH:" in
  *:/usr/local/bin:*) ;;     # do nothing if $PATH already contains /usr/local/bin
  *) PATH=/usr/local/bin:$PATH ;;  # in every other case, add it to the front
esac

信用:https//superuser.com/a/580611

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.