1. 前言

本文以从 https://packagist.laravel-china.org/ 镜像切换到 https://mirrors.aliyun.com/composer/ 为例来讲解。请自行修改命令行中对应的链接。

2. 问题说明

Composer 在安装时会在 composer.lock 文件中写入扩展包下载地址,如:

file

由于 Laravel China 镜像完成历史使命,将于两个月后停用 ,导致在安装扩展包时,下载失败。所以我们需要把这些下载地址更新为新的地址。

3. 解决方案

3.1 配置新镜像

首先配置你的新镜像为全局镜像:

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

3.2 刷新 composer.lock 文件

使用以下命令:

composer update nothing

或者:

composer update --lock

--lock:只升级 lock 文件的哈希以消除 lock 文件过期的警告。

4. 常见问题

问: 此操作是否会升级依赖版本?
答: 不会,只会在 composer.lock 中将旧的依赖下载地址更新为新的,版本保持不变。

问: 线上环境里已经下载了依赖到 vendor 文件夹,是否需要删了再重新下载?
答: 不需要,如上所讲,只是更新了下载链接,代码包连哈希都是一样,无需重新下载。


参考资料: