加快Homebrew安装速度

来源:互联网 发布:mysql数据库设置主键 编辑:程序博客网 时间:2024/05/29 08:36

前言

这篇文章其实没有什么,核心就是利用多线程下载代替brew默认的单线程。我如何知道是单线程在下载? 使用命令: brew install -vd mysql,该命令是进入verbose模式,终端输出:

(output brew install mysql)
12
  /usr/bin/curl -f https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.5.28.mountainlion.bottle.tar.gz \      -o /Library/Caches/Homebrew/mysql-5.5.28.mountainlion.bottle.tar.gz

由于 curl [url] -o [distation]

注意看: /Library/Caches/Homebrew/ ,这里是临时存放的目录,如果之前也安装过其他的程序, 你 ls -l /Library/Caches/Homebrew/ ,应该会发现很多类似 tar.gz 文件存在该目录下面。 这里的特征就是:一旦某个文件已经存在,就不会再次下载。我这里利用的就是这个原理,提前帮它下载好。

选择你的下载加速器

至于其他的下载加速器,有很多:

  • axel - 我最喜欢的一个,轻量,本身可以通过 brew install axel 安装,默认使用3个线程下载。使用时:axel [url]
  • aria2 - 也是一个非常轻量的工具,本身可以通过 brew install aria2 安装,使用时:aria2c -x 8 [url],里面的8表示用多少个连接同时下载。
  • wget - 没有研究过,感觉多线程的话,使用过于复杂,单线程下载的话,也是一个轻便的工具。
  • gui tools - 各种下载工具:迅雷、Whatever else you like。

然后直接将下载的包,一定要重命名为 当前formula的下载名称(名称来自刚才的调试语句):mysql-5.5.28.mountainlion.bottle.tar.gz , 直接复制/剪切到

    /Library/Caches/Homebrew/mysql-5.5.28.mountainlion.bottle.tar.gz

然后再次运行安装命令:brew install -vd mysql , 可以看到输出提示:

    Already downloaded: /Library/Caches/Homebrew/mysql-5.5.28.mountainlion.bottle.tar.gz

此时表明你这个已经下载完毕,可以会进入brew install FORMULA的下一步模式,解压,编译,安装等等,在这段时间内加快的就是你用多线程下载的时间,要是 碰上大的文件,就像这个Mysql的安装包一样,这种等待是很痛苦漫长的!

注意:brew的默认约定

如果你自己下载的文件,文件名得遵守他们的明明规范:拿nodejs举例说明: node-v0.8.15.tar.gz,这个文件多了一个v, 因为brew应该是 production-version-tar.gz 命名。所以名字改成node-0.8.15.tar.gz 。再次运行brew install FORMULA脚本,就会继续编译安装了。

我不知道是否还有其他的方式,但目前我这种确实可以加快很多。

(Done)

0 0