其实这个不算什么新鲜东西了,但最近很多人都在问(本来想吐槽某个古代建筑,想了想还是算了,大家都懂的……),所以在这里广而告之一下。

很多 *nix 的命令都可以使用“环境变量”,并且对于使用代理,很多程序都使用“http_proxy”变量来指定,比如 git。composer 也遵循这一原则。所以,如果你要加代理使用 Composer,比如使用 GA:
http_proxy=http://localhost:8087 composer update -vvv
对于一般的代理来说,就是那么简单。
但因 GA 特殊的工作原理,还需要处理 SSL 证书的问题,不过处理起来也很简单:
http_proxy=http://localhost:8087 COMPOSER_CAFILE=/path/to/your/goagent/CA.crt composer update -vvv
这样就又能正常使用 Composer 了。
2017-01-03 补充:处理证书的另外一种方式,就是不要用 https 协议。你需要在你项目的 composer.json 文件里添加如下配置:
{
"repositories": [
{
"packagist": false
},
{
"type": "composer",
"url": "http://packagist.org"
}
],
"config": {
"secure-http": false
}
}
其中 config
节点下面的 secure-http
表示不使用 HTTPS 安全链接;repositories
那一部分也不可缺少,否则依然会使用默认的 HTTPS 链接。
虽然之前我有提过 composer 镜像的事情,但实际的使用情况是所有的镜像似乎都不太稳定。所以能翻墙锻炼身体的同学,还是尽量使用这种方式吧。最后,祝大家身体健康。再见!
让 Composer 使用代理 by Chris Yue is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

写作累,服务器还越来越贵
求分担,祝愿好人一生平安
天使打赏人