我已经使用自制软件安装了最新版本的git(1.8.3),但是当我键入
git --version
在我的终端上,它打印:
git version 1.7.10.2 (Apple Git-33)
我应该怎么做才能用新版本替换旧版本的git?
我已经使用自制软件安装了最新版本的git(1.8.3),但是当我键入
git --version
在我的终端上,它打印:
git version 1.7.10.2 (Apple Git-33)
我应该怎么做才能用新版本替换旧版本的git?
Answers:
感谢大家提供有用的答案。就我而言
export PATH="/usr/local/bin:${PATH}"
在~/.bash_profile
之后
source ~/.bash_profile
为我的用户解决了问题。
/usr/local/bin
上面/usr/bin
在/etc/paths
。
brew doctor
诊断问题时提出的解决方案
/etc/paths
。仅定义“出口”可能还不够,如果(从酿造中)/usr/bin
具有“优先权” /usr/local/bin
...
好的,我准备认真对待scm。
$ git --version
git version 1.9.5 (Apple Git-50.3)
不,那不是我想要的。我<3自酿,所以:
$ brew install git
可以了,好了?
$ git --version
git version 1.9.5 (Apple Git-50.3)
h!(抓头)
$ which git
/usr/bin/git
啊,Apple的git在/ usr / bin中,所以它胜过自制软件。该怎么办?
(A)只需重命名Apple的二进制文件
(B)让自制软件管理一个优先级:
[编辑PATH导出,例如〜/ .zshrc(oh-my-zsh + iTerm2 FTW!/ tangent)]
[具体来说:将/ usr / local / bin / git:移至/ usr / bin之前:]
...和/或(例如,为了更广泛地安装自制软件,并且优先于所有外壳程序和用户使用)还编辑/ etc / paths文件,[将/ usr / local / bin移至/ usr / bin上方]
但假设仅是最简单/侵入性最小的方法:
$ sudo mv /usr/bin/git /usr/bin/git-apple
奏效了吗?
$ which git
/usr/local/bin/git
到目前为止一切顺利,现在是关键时刻:
$ git --version
git version 2.2.1
w00t!:)是时候阅读http://git-scm.com了!:)
which git
指向/usr/local/bin/git
,这对我也不起作用。为了解决这个问题,我必须卸载GitHub Mac应用程序。
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
带有最新Homebrew的macOS Sierra&Mojave不再需要此处几个答案中提到的所有技巧。忘记export PATH="..."
和修改~/.bash_profile
。
你干嘛
brew install git
和你完成。
要确认,请打开一个新的(!)终端窗口,然后键入
git --version
brew link --overwrite git
为我工作
通过brew(brew install git
)安装了最新的git后,请运行此单行代码(如推荐brew doctor
),如果还没有的话:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
然后退出终端并再次打开它(重新启动bash会话)。即使您的PATH已经正确,您也需要这样做,因为ZSH和Bash会缓存PATH的内容(请参阅内置命令上的文档hash
)。
那应该可以很快地解决问题。
当您键入
git --version
在Terminal.app或控制台中,您对另一个问题的评论表明它返回的版本是/ usr / bin / git中的git。
如果您安装了Xcode 4.5(及更高版本),然后键入
xcrun git --version
在Terminal.app或控制台中,它返回的版本是Xcode应用程序包中的git。
如果您使用Homebrew安装和更新git,最简单的解决方案是
通过使用mv重命名原始位置来重命名原始位置。例如
须藤MV / usr / bin / git / usr / bin / git-ORIGINAL
使用'ln -s'创建与您通过Homebrew安装的git二进制文件的软链接。
请注意,MattDMo在注释中有更好的解决方案。
/usr/bin
,因为您甚至不了解的其他程序可能取决于与特定版本相关的变化。最简单的解决方案是不添加任何内容,而是在/usr/local/bin
$PATH
/usr/bin
/usr/local/bin
您必须通过apple将原始git重命名为/usr/bin/
git-org,因为/usr/bin
通常在/usr/local/bin
酿造物所在的路径目录中。
所以:
cd /usr/bin
sudo mv git git-org
并且不要忘记链接Brew git
brew link git
假设这/usr/local/bin
是在您的$PATH
环境变量中。如果仍有问题,请尝试运行
brew doctor
并解决那里提到的问题。
/usr/local/bin
(自制程序的安装目录,IIRC)在$PATH
提前/usr/bin
,而不是用重命名摆弄周围和备份等
用brew安装git,运行它。
brew link --force git
关闭并重新打开终端以运行which git
。
brew link --overwrite git
工作
如果您是直接从git-scm.com安装git,并且想要使用最新下载的git而不是git的apple(旧)版本。
/usr/local/bin/git
git --version
,如果它返回Apple旧版本的git,请继续以下操作cd ~
(将目录更改为您的主目录)vi .bashrc
i
(在vi编辑器中插入文本)export PATH.......
,请在导出的顶部按Enter键,然后键入以下内容:(请export PATH=/usr/local/:$PATH
特别注意PATH
不要将变量弄乱,否则会给您的OS造成问题)(希望应该在中安装新的git /usr/local/git
):wq
(保存.bashrc
文件)git --version
(您应该看到新版本)这取决于您的git来自何处。例如,Xcode带来了一个版本,它也许是您前进的道路。
也许打字
which git
将显示旧的位置。
/usr/bin/git
...