无法使用自制软件安装的git

无法使用自制软件安装的git

当我尝试使用刚刚通过 homebrew 安装的最新版本的 git 时,遇到了一个非常奇怪的问题。which git指向我 homebrew 安装,但调用git返回使用 OS X 安装的原始版本。

我首先检查了我所使用的原始版本。

[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

然后我去 homebrew 安装了最新版本。

[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The 'contrib' directory has been installed to:
  /usr/local/share/git-core/contrib

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary

答案1

Shell 会维护在变量中找到可执行文件的路径的缓存$PATH。因此,它缓存了/usr/bin/git而不是/usr/local/bin/git,因为后者在 shell 启动时不存在。从当前终端运行Bash 将清除此缓存,然后应执行hash -r在中找到的第一个实例。$PATH

答案2

我遇到了完全相同的问题。这是我的解决方案。

brew uninstall git
# make sure everything is alright, maybe brew will give you some hint
brew doctor
brew update  
brew install git
# magic happen, brew will give you hint /usr/bin occurs before /usr/local/bin
# and recommend you run following command
brew doctor
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

完成后,您仍无法在运行时看到任何变化git --version。只需注销并重新登录,然后git --version再次运行即可。

答案3

当使用 homebrew 在你的机器上更新 git 时,请按照以下步骤操作:

brew doctor

修复建议的问题

brew update是否有更新版本的自制软件可用

brew install git下载并安装 git 的最新版本

跑步brew doctor会让你知道

警告:你的酒窖中有未链接的酒桶

执行brew link git将导致错误

错误:无法符号链接 bin/git

目标 /usr/local/bin/git 已存在。您可能想要将其删除:

rm'/usr/local/bin/git'

brew link --overwrite git覆盖符号链接并指向已安装的 git brew。

答案4

我的问题是我安装了 Mac GitHub 应用程序。/usr/local/bin/git指向的是应用程序的 git 版本,而不是 Homebrew 版本。卸载 GitHub 应用程序解决了这个问题。

相关内容