确实存在从
composer.lock
生成 composer.json
的命令吗?
类似红宝石的东西
bundler
:$ bundle lock
composer.lock
答案是“否”,您必须使用以下方法生成锁定文件:
composer install
不使用composer.lock安装
如果您以前从未运行过该命令,并且也不存在composer.lock文件,Composer只需解析您的composer.json文件中列出的所有依赖项,并将其文件的最新版本下载到您的供应商目录中项目。
NB 潜在问题: 如果没有锁定文件,Composer 将使用最新版本的依赖项。
composer.lock
如果您已经有
composer.lock
并且 Composer 抱怨它不同步,您将看到此警告:
警告:锁定文件未更新至composer.json 中的最新更改。您可能会遇到过时的依赖项。运行更新来更新它们。
要解决此问题,您可以更新锁定文件本身,而不更新依赖项。这只会更新锁定文件中的
content-hash
:
composer update --lock
来自 Composer 手册:
--lock 仅更新锁定文件哈希以抑制有关锁定文件已过期的警告。
写入锁定文件
composer.lock
无需下载包:
composer update --no-install
--no-install: 更新composer.lock 文件后不运行安装步骤。
https://getcomposer.org/doc/03-cli.md#update-u-upgrade
(最初针对 Composer 版本 2.2.5 报告)
composer install --ignore-platform-req=ext-fileinfo
解决了我的问题。 100%有效。