系统未使用已安装的软件包,因为现有软件包在不同的路径中

时间:2015-04-01 09:26:28

标签: shell homebrew zsh

场合

我正在使用 zsh (oh-my-zsh)。

Homebrew /usr/local/bin/安装所有新软件包,但是,Mac OS上预装了一些软件包,例如GitVimemacs

当我使用 Brew 安装这些程序的最新版本时,新安装的程序永远不会被使用,因为现有的程序位于具有更高优先级的/usr/bin

我的当前解决方案是在/usr/local/bin/中手动删除旧版本的程序,然后新安装的程序正常运行。

问题

有没有办法在预安装的程序之前先使用 Brew 执行设置程序?

非常感谢在Mac OS上提供有关包控制的建议和参考。

答案

@tripleee在下面提供了一个有效的解决方案接受的答案

注意:如果您没有.zlogin文件,可以使用

创建
$ touch .zlogin

然后使用您的favoirte edito将PATH添加到.zlogin文件中。

$ brew doctor

可以为你做其余的事情。

1 个答案:

答案 0 :(得分:2)

您可以根据自己的心灵内容修改自己的个人PATH。一个简单的解决方法是添加

PATH=/usr/local/bin:$PATH

发送到.bash_login.zlogin(适用于zsh)或类似内容。

/usr/local/bin中稍后再次PATH的副本基本上是无害的,但如果您愿意,可以使用

进行修复。
PATH=/usr/local/bin:${PATH//:\/usr\/local\/bin:/:}

代替。 (如果它是最后一个,你需要删除一对冒号。)

/usr/bin删除内容是非常冒险的做法。别这么做。