上次说过用brew安装应用的时候碰上“curl: (7) couldn’t connect to host 的问题”,去掉了代理访问虽然正常了,但由于很多应用还是托管在sourceforge上,而sourceforge由于被墙的缘故,所以使用brew安装的时候还是会报错。
象我安装ImageMagick的时候,就出现:
$ brew install ImageMagick
Warning: Your Xcode (4.4.1) is outdated
Please install Xcode 4.6.
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/imagemagick-6.8.0-
curl: (56) Recv failure: Connection reset by peer
Warning: Bottle installation failed: building from source.
==> Downloading http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6.8.0-10
curl: (56) Recv failure: Connection reset by peer
Error: Download failed: http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6.8.0-10.tar.gz
如何解决这个问题呢?有多种方法:
- 一是跳过下载步骤,事先下载程序包,放到/Library/Caches/Homebrew/ 目录中,就可以继续。不过讨厌的是你不知道需要依赖多少个包的时候,这一个个下实在是浪费功夫。
- 修改下载目标源,直接把sf.net的地址给替换掉,一样麻烦。
- 使用代理,让curl通过代理来访问。编辑$HOME/.curlrc文件,增加“–socks5 127.0.0.1:1080”即可(替换成你自己的代理),这样你在brew install安装的时候,相应curl就会通过socks代理访问,从而成功下载完成安装。方便简单,就是你需要自己设置一个socks代理。