1. 新增依赖

当php项目需要拉取一个新的依赖时,使用如下命令。
(注:我只想拉取依赖,不想更新依赖。)
但是composer出现了报错,我在本地是正常的,到了公司的开发服务器就出问题。我本能的以为是composer要拉取新的版本导致问题。

  1. composer require -vvv XXX 1.1 --ignore-platform-reqs

image.png
删除了缓存之后,重试上面的命令,还是不行,一样的报错。

2. composer 文件 .lock 和 .json

我仔细看了报错,发现是,要拉取旧的版本导致问题的出现,这就很奇怪了,为什么会拉旧版本呢?
composer.lock ,因为我看了看 composer.json, 报错的依赖(如:easyswoole/orm easyswoole/redis 等)都指定了版本,所以就算是 通过 composer udpate 来执行,也不会拉取新的版本,而出现拉取旧版本(其实和拉取新旧版本无关,主要是与指定版本不同时),是因为 composer.lock 锁定了一个版本,相当于 composer 用 composer.lock 覆盖 composer.json 的配置。
因此,删除掉 composer.lock 再重新执行一遍就可以了。