ChatGPT解决这个技术问题 Extra ChatGPT

如何修改 Homebrew 的 PATH?

尝试安装 ruby 1.9.3,读到我需要先安装自制软件。 Ran brew doctor,它给了我一堆警告。其中之一是:

警告:/usr/bin 出现在 /usr/local/bin 之前 这意味着将使用系统提供的程序而不是 Homebrew 提供的程序。两个路径都存在以下工具: easy_install easy_install-2.6 考虑修改您的 PATH 以便 /usr/local/bin 在您的 PATH 中位于 /usr/bin 之前。

一个人如何做到这里的要求?

在我看来,@AristotlePagaltzisanswer on SuperUser 提供了最佳解决方案,允许您的系统应用程序继续使用 /usr/bin,同时您选择性地符号链接您的 Homebrew 可执行文件想要使用而不是 Apple 提供的版本,例如 Git。
@mrdavidjcole:fengd 没有回答这个问题?
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的 What topics can I ask about here。也许 Super UserApple Stack Exchange 会是一个更好的提问位置。另见Where do I post questions about Dev Ops?

f
fengd

打开您的 /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”。
a
avelis

有很多方法可以更新您的路径。 Jun1st 答案效果很好。另一种方法是扩充您的 .bash_profile,使其具有:

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

上面的行将 /usr/local/bin/usr/local/sbin 放在您的 $PATH 前面。在您source您的 .bash_profile 或启动一个新终端后,您可以通过 echo 验证您的路径。

$ 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 not found
@rpeg 我敢肯定,如果您在网上搜索教程,就会有大量资源,但这是我所知道的。 linux.com/learn/tutorials/272346-bash-101-working-at-the-cli
i
iceturk22

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

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

重新启动终端并运行

brew doctor

这个问题应该得到解决


如果您使用的是 zsh,请使用此命令 echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc
S
Siddhant Raut

在 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


C
Community

为了避免不必要的重复,我将以下内容添加到我的 ~/.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