使用brew升级git给出:没有这样的文件或目录-/usr/local/Cellar/git?

TMi*_*Min 3 git homebrew

我正在尝试升级 git。我在升级 git 和随 Xcode 安装的 git 版本时遇到了一些似乎常见的路径问题。我对 git 很陌生,对一般编程也相当陌生。请记住这一点,谢谢。

我正在运行 OSX 10.9.5 并拥有 Xcode 6.1.1。

我按照此处的说明进行操作:博客文章

当我运行 brew doctor 时,我收到一堆警告:

请注意,这些警告仅用于帮助 Homebrew 维护人员在您提出问题时进行调试。如果您使用 Homebrew 执行的所有操作都工作正常:请不要担心,忽略它们即可。谢谢!

警告:Python 安装在 /Library/Frameworks/Python.framework

Homebrew 仅支持针对系统提供的 Python 或酿造的 Python 进行构建。特别是,安装到 /Library 的 Python 可能会干扰其他软件的安装。

警告:在 /usr/local/lib 中发现未编译的 dylib。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的 dylib: /usr/local/lib/libtcl8.6.dylib /usr/local/lib/libtk8.6.dylib

警告:在 /usr/local/include 中发现未编译的头文件。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的头文件: /usr/local/include/fakemysql.h /usr/local/include/fakepq.h /usr/local/include/fakesql.h /usr/local/include/itcl.h /usr/local/include /itcl2TclOO.h /usr/local/include/itclDecls.h /usr/local/include/itclInt.h /usr/local/include/itclIntDecls.h /usr/local/include/itclMigrate2TclCore.h /usr/local/include /itclTclIntStubsFcn.h /usr/local/include/mysqlStubs.h /usr/local/include/odbcStubs.h /usr/local/include/pqStubs.h /usr/local/include/tcl.h /usr/local/include /tclDecls.h /usr/local/include/tclOO.h /usr/local/include/tclOODecls.h /usr/local/include/tclPlatDecls.h /usr/local/include/tclThread.h /usr/local/include /tclTomMath.h /usr/local/include/tdbcInt.h /usr/local/include/tdbc.h /usr/local/include/tdbcDecls.h /usr/local/include/tdbcInt.h /usr/local/include /tk.h /usr/local/include/tkDecls.h /usr/local/include/tkPlatDecls.h

警告:在 /usr/local/lib/pkgconfig 中发现未编译的 .pc 文件。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的 .pc 文件: /usr/local/lib/pkgconfig/tcl.pc /usr/local/lib/pkgconfig/tk.pc

警告:在 /usr/local/lib 中发现未编译的静态库。如果您不是故意将它们放在那里,它们可能会在构建 Homebrew 公式时引起问题,并且可能需要删除。

意外的静态库: /usr/local/lib/libtclstub8.6.a /usr/local/lib/libtkstub8.6.a

警告:/usr/bin 出现在 /usr/local/bin 之前 这意味着将使用系统提供的程序,而不是 Homebrew 提供的程序。两条路径上都存在以下工具:

2to3
easy_install
easy_install-2.7
gcc-4.2
Run Code Online (Sandbox Code Playgroud)

考虑设置 PATH,使 /usr/local/bin 出现在 /usr/bin 之前。这是一行: echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

起初,我按照开头的 brew 消息忽略了这些错误,但是当我运行时,brew upgrade git我得到以下信息:

Error: No such file or directory - /usr/local/Cellar/git
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索问题后,我发现人们通过编辑 bash.profile 解决了类似的问题(指定相同的错误不同的路径),所以我运行了 echo 命令

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

我也尝试过

echo export PATH='/usr/local/Cellar/git:$PATH' >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

并尝试手动将这些导出路径命令添加到我的.bash_profile使用nano中,但这些似乎都没有帮助。

任何帮助,将不胜感激?

TMi*_*Min 5

所以我通过卸载git两次然后重新安装最新版本的git解决了这个问题。这删除了预安装的 git 版本和我已经安装的版本,从而消除了路径问题。我跑:

which git
Run Code Online (Sandbox Code Playgroud)

然后跑了sudo rm -rf /absolute/path/to/git

这删除了已安装的 git 程序之一。然后我再次运行这两个命令,但第二次which git返回了与第二次使用的不同路径sudo rm -rf /absolute/path/to/git。最后,我使用brew安装了git。

虽然不是火箭科学,但它似乎确实有效。