如何修改 Homebrew 的 PATH?
Posted
技术标签:
【中文标题】如何修改 Homebrew 的 PATH?【英文标题】:How to modify PATH for Homebrew? 【发布时间】:2012-05-07 19:12:41 【问题描述】:尝试安装 ruby 1.9.3,请阅读我需要先安装自制软件。 Ran brew doctor,它给了我一堆警告。其中之一是:
警告:/usr/bin 出现在 /usr/local/bin 之前 这意味着 将使用系统提供的程序,而不是由 自制。两条路径都存在以下工具:
easy_install easy_install-2.6
考虑修改您的 PATH 以使 /usr/local/bin 领先于 /usr/bin 在你的 PATH 中。
一个人如何做到这里所要求的?
【问题讨论】:
@AristotlePagaltzis's answer on SuperUser 在我看来是最好的解决方案,允许您的系统应用程序继续使用/usr/bin
,同时您选择性地符号链接 您要使用的 Homebrew 可执行文件,而不是 Apple 提供的版本,例如 Git。
@mrdavidjcole:fengd 没有回答这个问题?
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Apple Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?。
【参考方案1】:
打开您的 /etc/paths 文件,将 /usr/local/bin 放在 /usr/bin 之上
$ sudo vi /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
和重启终端,@mmel
【讨论】:
进行此更改后重新加载环境或启动新终端。 不同意这一点 - 应该使用下面的答案 - 我认为时间机器等不会选择这个更改作为外部用户文件夹。 如果您的问题是 RVM 和 Homebrew 似乎都在争夺 .bash_profile 文件中的相同空间,这也是我找到的最佳解决方案。 我不会编辑 /etc/paths;相反,请使用其他地方描述的 .profile / .bash_profile 方法(例如,通过下面的 @avelis 回答或更偏执的方法,请参阅 SuperUser 上引用 AristotlePagaltzis 回答的第一条评论。 您可能想尝试使用 nano 终端文本编辑器而不是 via。我发现这更容易使用。 “sudo nano /etc/paths”而不是“sudo vi /etc/paths”。【参考方案2】:有很多方法可以更新您的路径。 Jun1st 答案效果很好。另一种方法是将您的.bash_profile
扩充为:
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
上面的行将/usr/local/bin
和/usr/local/sbin
放在您的$PATH
前面。一旦你 source 你的 .bash_profile
或启动一个新终端,你可以通过 echo'ing 来验证你的路径。
$ 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/
【讨论】:
@JanuszChudzynski 对于 Jun1st 的解决方案,您可能必须重新启动命令行会话才能看到更改。 自制日的最新版本:考虑设置您的 PATH,以便 /usr/local/bin 出现在 /usr/bin 之前。这是一个单行代码:echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile
。这基本上就是这个答案所暗示的。
但是我怀疑这是正确的方法。见下文: 更改前:/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
文件比较好
$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile 给了我 $PATH"' >> ~/.bash_profile -bash: $: command没找到
@rpeg 我敢肯定,如果您在网上搜索教程,就会有大量资源,但这是我所知道的。 linux.com/learn/tutorials/272346-bash-101-working-at-the-cli【参考方案3】:
只需在您喜欢的终端应用程序中运行以下行:
echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile
重启终端并运行
brew doctor
问题应该解决
【讨论】:
如果您使用的是 zsh,请使用此命令 echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc【参考方案4】:为避免不必要的重复,我将以下内容添加到我的 ~/.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
【讨论】:
【参考方案5】:在 textEdit 中打开 bash 配置文件
打开 -e .bash_profile
编辑文件或粘贴在 PATH 前面 导出 PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:~/bin
保存并关闭文件
*打开.bash_profile直接打开textEdit>file>recent
【讨论】:
以上是关于如何修改 Homebrew 的 PATH?的主要内容,如果未能解决你的问题,请参考以下文章