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

时间:2015-02-20 16:44:23

标签: git homebrew

我正在尝试升级git。我正在尝试升级git和随Xcode一起安装的git版本似乎是常见的路径问题的变体。我是git的新手,而且对编程很新。请记住这一点,谢谢。

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

我按照这里的说明操作:blog post

当我经营酿酒医生时,我收到了一堆警告:

  
    

请注意,如果您提出问题,这些警告仅用于帮助Homebrew维护人员进行调试。如果您使用的一切     Homebrew for工作正常:请不要担心,只是忽略它们。     谢谢!

  
     

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

     

Homebrew仅支持构建系统提供的Python或   一个酿造的Python。特别是,安装到/ Library的Pythons可以   干扰其他软件安装。

     

警告:在/ usr / local / lib中找到了未提交的dylib。如果你没有   故意将它们放在那里,它们可能会在建造时造成问题   自制公式,可能需要删除。

     

意外的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/tclTomMathDecls.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之前这意味着   将使用系统提供的程序而不是由提供的程序   家酿。两个路径都存在以下工具:

2to3
easy_install
easy_install-2.7
gcc-4.2
     

考虑设置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

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

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

我也试过

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

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

任何帮助将不胜感激?

4 个答案:

答案 0 :(得分:4)

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

which git

然后运行sudo rm -rf /absolute/path/to/git

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

不是火箭科学,但似乎有效。

答案 1 :(得分:1)

我假设您已经安装了某个版本的git? (输入git --versionwhich git进行检查。)如果不这样做,请继续brew install git,然后就完成了。

但是,假设您已经安装了git:

选项1:如果brew无法识别当前的git install

总的来说,这是一个超级快速修复...为我工作

运行$ brew upgrade git

如果结果告诉你not installed,那么brew无法识别当前安装...你最快的选择是让brew从头开始安装:

  1. 重命名现有Apple安装的git(example
  2. 让brew通过brew install gitexample
  3. 安装最新版本

    第1步,重新命名Apple安装的git,只是避免Apple安装的Git与你通过Homebrew安装的新Git之间发生冲突的一种方法。有关此问题的第二个示例,请参阅您链接到的博客上的其他帖子以获取更多信息: http://rayhightower.com/blog/2014/12/18/git-vulnerability-on-mac-os-x/

    选项2:使用brew来识别您拥有的git安装

    如果您认为上述内容过于笨拙,请将旧的git安装挂在您的计算机上......

    另一种选择可能是玩链接?我在brew link的初步尝试对我不起作用。我没有尝试通过symlink或定义任何$PATH来解决。肯定有一个比简单地放弃现有安装更简洁的选择,但是今天选项1对我来说已经足够了。

答案 2 :(得分:0)

这对我有用:

  1. 重命名现有Apple安装的git(https://stackoverflow.com/a/27646134

  2. 修复brew的git安装(No such keg: /usr/local/Cellar/git

答案 3 :(得分:0)

绝不是专家,但对我来说,我基本上做了:

  1. 备份原始git目录
  2. 使用Homebrew安装Git
  3. 重启(或源)shell
  4. ~ > which git
    /usr/bin/git
    ~ > sudo mv /usr/bin/git /usr/bin/git-original
    ~ > which git
    git not found
    ~ > brew install git
    ~ > source /etc/profile
    ~ > git --version
    git version 2.4.3