2

Composer 修改项目依赖为新的镜像地址

 2 years ago
source link: https://novnan.github.io/Composer/modify-the-project-dependency-to-the-new-mirror-address/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

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

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

问题: 如何把 composer.lock 文件里的这些 "url": "https://packagist.phpcomposer.com/file... 下载地址变为新的加速进行的地址呢?

1. 配置新镜像

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

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

2. 刷新 composer.lock 文件

使用以下命令:

$ composer update nothing
$ composer update --lock

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

执行成功后:

3. 测试一下

清空本地缓存:

$ rm -rf vendor
$ composer clear-cache

执行安装命令:

$ composer install -vvv

享受高速下载:

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK