我正在尝试升级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
,但这似乎都没有帮助。
任何帮助将不胜感激?
答案 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 --version
或which git
进行检查。)如果不这样做,请继续brew install git
,然后就完成了。
但是,假设您已经安装了git:
选项1:如果brew无法识别当前的git install
总的来说,这是一个超级快速修复...为我工作
运行$ brew upgrade git
如果结果告诉你not installed
,那么brew无法识别当前安装...你最快的选择是让brew从头开始安装:
brew install git
(example)第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)
这对我有用:
重命名现有Apple安装的git(https://stackoverflow.com/a/27646134)
修复brew的git安装(No such keg: /usr/local/Cellar/git)
答案 3 :(得分:0)
绝不是专家,但对我来说,我基本上做了:
~ > 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