解决composer异常 Composer\Downloader\TransportException
Composer在腾讯或阿里的服务器上经常会遇到报出如下异常:
[Composer\Downloader\TransportException]
Your configuration does not allow connections to http://mirrors.cloud.tencent.com/repository/com
poser/******. See https://getcomposer.org/doc/06-config.md#secure-http for
details.
注意关键词:secure-http
猜测一下,是不是Https的问题,运行如下命令,设置不强制https
composer config -g secure-http false
再次运行之前的composer安装,结果正常了。
事后总结:
这个错误信息是由 Composer 抛出的,Composer 是一个 PHP 的依赖管理工具。错误表示你的 Composer 配置不允许连接到 http://mirrors.cloud.tencent.com/repository/composer/***
这个 URL。
错误的原因可能是你的 Composer 配置文件(通常是 composer.json
或全局配置文件)设置了不允许非安全的 HTTP 连接,而该 URL 是一个 HTTP 连接,不是 HTTPS。Composer 为了安全起见,默认可能不允许这样的连接。
要解决这个问题,你有几个选项:
- 更改 URL 为 HTTPS:如果可能的话,你可以尝试将 URL 更改为 HTTPS 版本。这样,连接就会是安全的,Composer 应该允许它。
- 更改 Composer 配置:如果你确定需要连接到这个 HTTP URL,并且信任这个源,你可以更改 Composer 的配置以允许非安全的 HTTP 连接。你可以在项目的
composer.json
文件中添加如下配置:
{
"config": {
"secure-http": false
}
}
或者,如果你想要全局更改这个设置,你可以运行以下 Composer 命令:
composer config -g secure-http false
注意:更改这个设置可能会降低你使用 Composer 时的安全性,因为它允许连接到不安全的 HTTP 源。只有在你完全信任你要连接的源时才应该这样做。
- 检查你的网络设置:有时候,这类问题可能是由于网络设置(如代理、VPN、防火墙等)导致的。确保你的网络设置允许 Composer 连接到这个 URL。
- 使用不同的镜像源:如果你在使用的是一个镜像源,并且这个镜像源有问题,你可以考虑更改为其他的 Composer 镜像源。
在进行任何更改之前,建议仔细阅读 Composer 的文档和相关资源,以确保你了解你正在做什么以及可能的风险。