如何从 phpcomposer 的 Composer 镜像迁移到 Laravel China 维护的镜像?

50

问题说明

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

file

一些年代久远的项目中使用了 https://pkg.phpcomposer.com/ 的中文加速镜像,然后最近因为其镜像访问出了故障:

file

运行 composer install 后会出现 404 并从源仓库开始下载,导致下载速度非常慢。这种情况即使是你全局配置了 Laravel 的 Composer 镜像 也会出现:

file

如何把 composer.lock 文件里的这些 "url": "https://packagist.phpcomposer.com/file... 下载地址变为 Laravel 的 Composer 镜像 的呢?

解决方案

1. 配置新镜像

$ composer config -g repo.packagist composer https://packagist.laravel-china.org

2. 刷新 composer.lock 文件

使用以下命令:

$ composer update nothing

或者:

$ composer update --lock

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

执行成功后:

file

3. 测试一下

清空本地缓存:

$ rm -rf vendor
$ composer clear-cache

执行安装命令:

$ composer install -vvv

享受高速下载:

file

讨论数量: 2

composer update nothing 很优雅,之前我都建议暴力删除 rm composer.lock 了

1周前

速度也快不到多少

1周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!