之前我们说过,由于国内网络进一步恶劣,使用 brew 也要更换国内大学的镜像源,但是这样的方法治标不治本,更新是快了,可是下载还是一样。
结果就是导致大部分的更新都需要去下载源码然后本地编译,运气差一点的干脆源码也下载不下来,每次都要取消然后重试,不停地手工重复。
——如果能让终端命令走代理就好了。
是的,你可能想到了什么比如 proxychains-ng 这类的软件,其实不用,因为 brew 是支持全局代理的,我们只需要在当前环境当中加入代理配置即可。
在终端中输入如下代码:
1 |
export ALL_PROXY=socks5://127.0.0.1:1080 |
如果说你想要 brew 永久如此,我们就需要将环境变量写入终端的配置当中,这取决于你的终端,如果是默认的 bash,则写入 ~/.bash_profile ,如果是 zsh,则写在 ~/.zshrc 里。
或者直接用如下语句来将命令直接导入到配置文件里,感谢 surveillance104 的提醒哦!
1 2 3 4 5 |
echo export ALL_PROXY=socks5://127.0.0.1:1080 >> ~/.bash_profile //如果是zsh就下边这个 echo export ALL_PROXY=socks5://127.0.0.1:1080 >> ~/.zsh_profile |
这样,Homebrew 就能通过 shadowsocks 来更新了,速度嗖嗖的。:)
注意
你应当注意,如果你使用了这条命令,可能大部分的终端命令都会使用代理了(ping不会的放心?)如果有些特别的命令总是直接失败,你应当首先想到可能是代理惹的祸;另外,brew不能通过代理来使用中国镜像源——原因你自己想:)
本文由 落格博客 原创撰写:落格博客 » 让 Homebrew 走代理更新
转载请保留出处和原文链接:https://www.logcg.com/archives/1617.html
alias use_proxy=”env http_proxy=http://host:port https_proxy=http://host:port”
use_proxy brew update
这个命令只要设置一遍就可以的吧……我现在都是直接在Surge里点copy命令然后去粘贴一下…………
如果想取消代理 怎么弄?
重启。
同问,取消怎么弄
1.$ vi ~/.curlrc add a line socks5:127.0.0.1:yours port
2.$curl ip.gs
check your real IP address
Surge中有一个选项,是“copy shell export commond”。
复制出来的指令“export https_proxy=http://127.0.0.1:端口号;export http_proxy=http://127.0.0.1:端口号”,粘贴到终端里之后似乎还是不能代理,这是为什么?
而博主你的指令“export ALL_PROXY=socks5://127.0.0.1:端口号”是可以的,这又是为什么?
能否麻烦解释其中的原理?
上面可能没说清,用surge中的指令无法代理homebrew。
?♂️好像也没啥为什么,就是不能。有些软件他就不遵守这个规则不读变量你没脾气。像Python,我至今搞不懂它什么时候走代理什么时候不走代理……………………
首先你的确保你的代理工具可用,并且是打开的。确保本地监听端口是1080,不是所有的代理工具都是这个端口
10.12.5 按照方法配置了,还是没有办法使用
https不要忘了。
很好很好!解决了很多问题!
感谢
mac10.11.6 亲测无效
测试一下
啊啊啊
再测一下
二二二二
落格同學你好,我是surveillance104
我在介紹OS X安裝zeronet的教程貼的時候應用了這個與切換中國大陸高校的brew源帖子 已經署名 如果落格同學介意的話我馬上刪除 連結的話在這裡: https://tr.im/LB9tH
順便如果想一勞永逸的話可以直接在terminal輸入:
echo export ALL_PROXY=socks5://127.0.0.1:1080 >> ~/.bash_profile
当然可以!完全没有问题!切换源并不是个好办法,因为大多数的包可能还是需要从国外的地址下载的,我自己现在也是用你说的方法——
这个方法我在另外一篇文章里写了我把你这个也写入文章里:),不过,如果使用全局代理,就不应该再继续使用中国brew源,这一点你应当注意呢:)非常感謝!orz
export ALL_PROXY=socks5://127.0.0.1:1080
?你说得对……
请教:运行brew cask update报错,该怎么解决呢?
==> fatal: unable to access ‘https://github.com/caskroom/homebrew-cask/’: SSLRea
==> Error: Fetching /usr/local/Library/Taps/caskroom/homebrew-cask failed!
Already up-to-date.
fatal: unable to access ‘https://github.com/caskroom/homebrew-cask/’: SSLRead() return error -9806
Error: Fetching /usr/local/Library/Taps/caskroom/homebrew-cask failed!
git被污染了你连不上,看看我这篇文章,使用代理来更新即可 让 Homebrew 走代理更新