让 Composer 使用代理

让 Composer 使用代理

Chris Yue No Comment
Posts

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

composer

很多 *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.

微信赞赏码

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

发表评论

65 − 63 =