How to modify PATH for Homebrew?
尝试安装ruby 1.9.3,请阅读我需要先安装自制软件。 跑啤酒医生,它给了我一堆警告。 其中之一是:
Warning: /usr/bin occurs before /usr/local/bin This means that
system-provided programs will be used instead of those provided by
Homebrew. The following tools exist at both paths:
1 2
| easy_install
easy_install-2.6 |
Consider amending your PATH so that /usr/local/bin is ahead of
/usr/bin in your PATH.
一个人怎么做它在这里要求的东西?
-
@AristotlePagaltzis在SuperUser上的答案在我看来是最好的解决方案,允许你的系统应用程序继续使用/usr/bin,同时你选择性地符合你想要使用的Homebrew可执行文件而不是Apple发布的版本,例如Git。
-
@mrdavidjcole:fengd没有回答这个问题?
-
Stack Overflow是编程和开发问题的站点。 这个问题似乎是偏离主题的,因为它不是关于编程或开发的。 请参阅帮助中心内的相关主题。 也许超级用户或Apple Stack Exchange会是一个更好的地方。 另请参阅我在哪里发布有关Dev Ops的问题?
打开/ etc / paths文件,将/ usr / local / bin放在/ usr / bin之上
1 2 3 4 5 6 7
| $ 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回答或更偏执的方法,请参阅引用AristotlePagaltzis在SuperUser上的第一条评论。
-
您可能想尝试使用nano终端文本编辑器而不是via。我发现这更容易使用。"sudo nano / etc / paths"而不是"sudo vi / etc / paths"。
-
为什么在可以将其配置为本地用户帐户时编辑/ etc。我和其他人不同意这是最好的解决方案。
有很多方法可以更新您的路径。 Jun1st答案很有效。另一种方法是扩充你的.bash_profile:
1
| export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH" |
上面的行将/usr/local/bin和/usr/local/sbin放在$PATH前面。一旦您找到.bash_profile或启动一个新终端,您就可以通过回显来验证您的路径。
1 2
| $ 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 / bin之前发生/ usr / local / 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 not found
-
我在哪里可以了解有关使用Bash的更多信息?
-
@rpeg我相信如果你在网上搜索教程,那里有丰富的资源,但这是我所知道的。 linux.com/learn/tutorials/272346-bash-101-working-at-the-cli
只需在您喜欢的终端应用程序中运行以下行:
1
| echo export PATH="/usr/local/bin:$PATH">> ~/.bash_profile |
重启终端并运行
这个问题应该得到解决
-
如果您使用的是zsh,请使用此命令echo'export PATH ="/ usr / local / sbin:$ PATH"'>>?/ .zshrc
在textEdit中打开bash配置文件
打开-e .bash_profile
编辑文件或粘贴在PATH前面
export PATH = / usr / bin:/ usr / sbin:/ bin:/ sbin:/ usr / local / bin:/ usr / local / sbin:?/ bin
保存并关闭文件
*打开.bash_profile直接打开textEdit> file> recent
为避免不必要的重复,我将以下内容添加到?/ .bash_profile中
1 2 3 4
| 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