2021-01-24更新:
由于homebrew已经移除了下面的脚本,所以下面的方法不一定还有效.而科大镜像源提供的帮助文档未能成功,所以,这里提供清华镜像源的帮助文档
1.最简单粗暴的方法直接去homebrew的官网,复制命令,粘贴到终端里执行,如果一切正常,那你就不用往下看了。
2.如果安装过程特别慢,最后报错。你可以这么做。
首先:curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_instal,复制此命令到终端,执行。
执行完这个命令之后,你去Mac里的当前目录去找,应该会有一个brew_instal的文件。
这一步和下面一步的目的主要是因为:
官网的命令执行的太慢,我们先把官网的install脚本中的地址改为科大的镜像地址,然后再安装.
其次:打开这个文件,将BREW_REPO = "https://github.com/Homebrew/brew".freeze这句话改为BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze
紧接着:在终端里执行/usr/bin/ruby ./brew_install这个命令,此时你会发现安装过程相比较之前特别的快,但是最后会报这个错误:
fatal: unable to access 'https://github.com/Homebrew/homebrew-core/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
Error: Failure while executing: git clone https://github.com/Homebrew/homebrew-core /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
Error: Failure while executing: /usr/local/bin/brew tap homebrew/core
最后:执行下面的命令,替换源:
1.cd "$(brew --repo)"
2.git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
3.cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
4.git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
默认不安装cask 有需要的可以替换(以下步骤可选)
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-cask.git
最后一步:替换bintray镜像:
1.echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
2.source ~/.bash_profile
至此,Mac上的homebrew就安装完了,你可以使用brew -v,查看以下是否安装成功。接下来,如果,想要安装什么就直接搜命令去吧。
实际上以上几个步骤就是更换git的上游地址,安装完homebrew之后可以在/usr/local/Homebrew下看到隐藏的.git文件夹,代表这是一个git仓库,而homebrew的三个核心,homebrew-core、homebrew-cask、homebrew-services的目录均在/usr/local/Homebrew/Library/Tags/homebrew下,进入每个目录都是都一个单独的仓库,所以上面的命令就不难理解了,仅仅是为这三个git仓库的origin源更换一个地址,更换为科大的git地址
说明:
这里的镜像源为科大的镜像地址,操作步骤是按照科大的镜像操作完成的。可以去科大的镜像网站查找你所需要的源,然后点击后面的help即可查看如何操作
备注:
再推荐一个图形界面的工具cakebrew。安装命令
brew cask install cakebrew
或者
brew install cakebrew
如果想要homebrew不提示升级某个formula,可以使用
brew pin <formula>
如果想恢复,则可以使用
brew unpin <formula>
官方说明文档FAQ (Frequently Asked Questions) — Homebrew Documentation
疑问解答:
问:brew 和 brew cask 有什么不同?
答:可以简单理解为brew是安装一些在命令行中使用的软件,而brew cask是安装一些带有图形界面的软件。也可以直接看官方GitHub上的文档描述,简洁明了.
2022年12月23日更新:实际使用过程中直接使用brew 即可,对于cask的软件brew install也是可以安装的
问:brew tap的命令是干嘛的?命令介绍
答:由于一些原因,homebrew无法收集到一些软件的信息,所以,软件开发者可以手动的让brew追踪这些软件,同时也会让brew管理这些软件。使用brew tap 命令可以查看目前都有哪些存储库。软件开发者告诉brew要克隆的仓库地址,其格式为https://github.com/user/repo名字,其中repo名字前缀必须为homebrew-。
举例说明,ES本身的存储库brew并没有收录,于是,ES官方在GitHub上建立了一个名字为homebrew-tap的仓库。那么此时我们可以在命令行中这样安装es
brew tap elastic/tap
brew install elastic/tap/elasticsearch-full
可以看到,ES是完全按照brew的规范新建的仓库,
问:为什么brew tap关联es存储库时没有使用brew tap elastic/homewbrew-tap呢?
答:因为brew tap会自动加上的homebrew-的前缀
brew tap 默认的位置是GitHub位置,如果要换成其他位置,可以使用第二中URL的方式
问:如何install固定版本的软件?
答:brew search一下,如果该软件有在brew存储库中有多个版本直接选择要安装的版本即可。如果没有的话,就要分情况处理了,
第一种情况:
如果brew存储库没有要找的软件版本,可以使用brew create自己建建立对应软件的.rb文件。brew create 软件的实际下载路径。具体使用可以参考官方brew create文档或官方首页的文档即可。也可以参考以下几篇文章自定义Homebrew的Formula – 夜明的孤行灯
第二种情况:
如果brew存储库有该软件的版本,但是只有最新的版本,那么要安装以前的版本怎么处理呢?
来到brew-core官方GitHub仓库,在仓库里搜索要找的软件的版本,如:查询zookeeper ,git clone到本地,查看zookeeper.rb的提交历史,找到3.4.14的版本的提交历史,将里面的内容复制,替换现在的zookeeper.rb文件,文件位置在/usr/local/Homebrew/Libraay/Taps/homebrew/homewbrew-core/下。
重新
brew install zoopkeeper
就可以安装3.4.14版本了.
由于3.5以及以上版本的zookeeper对于JDK8有bug,所以我们让zookeeper保持在3.4.14,不更新
brew pin zookeeper