PHP Composer国内镜像列表和使用方法

涂红伟, 2022年12月15日 13:54

什么是composer?

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。现在越来越多的PHP应用使用composer来管理包,比如Symfony、Laravel、ThinkPHP、Joomla、phpBB等。

Drupal从drupal8开始基于Symfony等众多第三方组件构建,为了保证drupal版本和各组件版本的一致性,官方提倡使用composer来安装和更新drupal,包括drupal核心、主题和模块。到drupal10官方进一步呼吁使用composer来管理依赖项,甚至部分模块如commerce必须用composer来安装。

关于composer的下载和安装参照:https://pkg.xyz/#how-to-install-composer ,composer的使用可参阅composer中文文档,地址:https://docs.phpcomposer.com/

composer管理项目依赖项虽然很方便,但由于某些原因,国内使用composer并不顺畅,经常连接不上composer官方服务器,所以收集了几个国内可用镜像源,以备使用。本列表会不定期更新,如果有更好的国内composer镜像源可告诉我更新。

镜像名地址更新频率备注
阿里云Composer镜像https://mirrors.aliyun.com/composer/96 秒全量
腾讯云Composer镜像https://mirrors.cloud.tencent.com/composer/24小时全量
华为云 Composer 镜像https://repo.huaweicloud.com/repository/php/未知全量
PHP 国内 Composer 镜像https://packagist.phpcomposer.com60秒全量
交通大学Composer镜像https://packagist.mirrors.sjtug.sjtu.edu.cn 未知未知

配置镜像

全局配置镜像(推荐)

所有项目都会使用该镜像地址,以下为阿里云composer镜像配置命令,其他镜像配置将命令中的地址更换即可。

composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/

取消配置

composer config -g --unset repos.packagist

项目配置

仅修改当前工程配置,仅当前工程可使用该镜像地址:

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置

composer config --unset repos.packagist

调试

composer 命令增加 -vvv 可输出详细的信息,命令如下:

composer -vvv require alibabacloud/sdk

Composer使用遇到问题时,可按照以下步骤尝试解决。

1.将Composer版本更新到最新版本,执行命令:

composer self-update

升级后回滚版本,执行命令:

composer self-update --rollback

2.执行composer诊断命令:

composer diagnose

3.清除缓存:

composer clear

4.如果项目之前已经通过其他源安装,则执行以下命令更新composer.lock文件:

composer update --lock

其他命令

查看composer版本:

composer -V

查看composer配置:

composer config -l -g

提示:如果切换为国内某个Composer镜像源还是连接不了服务器,可以切换为国内其他的镜像源,多尝试几次一般可以成功。

标签