今天不小心把Carthage的版本升级到了0.14,导致有个库用不了了,所以准备降级到0.11,以前好像没遇到过类似的需求,于是网上查了一下该怎么降级。
于是Stackoverflow了一下方法,有一篇写的很详细。Homebrew install specific version of formula?
brew versions carthage
网上都说这样就可以了,但是我试了一下不行,通过brew search
也找不到,顿时我就蒙了,这个改怎么办呢?
通过一番查资料以后,终于找到了方法,homebrew
本质上就是通过git来管理的,每一个版本都是一个对应的commit,如果我们找到了对应的commit再来进行安装,那么久解决问题了。这就是为什么我们要进行brew update
操作。这个实际上就是把本地的git更新到最新。
首先我们需要从通过git log
来查找相应的commit。
git log -S'0.11' -- Library/Formula/carthage.rb
结果来了
commit 663d082089a79aaf3750f8a30484657bff0b2336
Author: Syo Ikeda <suicaicoca@gmail.com>
Date: Wed Dec 2 12:08:26 2015 +0900
carthage 0.11
https://github.com/Carthage/Carthage/releases/tag/0.11
Closes #46560.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
重点看到这里,comimit的值为663d082089a79aaf3750f8a30484657bff0b2336
这样我们就可以切换到那个分支
$ git checkout -b carthage-0.11.0 663d082089a79aaf3750f8a30484657bff0b2336
$ brew install carthage
$ git checkout master
$ git branch -d carthage-0.11.0
搞定啦,以后就可以用brew switch
来切换版本了。