它确实存在一个命令来从 composer.json
?
composer.lock
类似的Ruby的bundler
:$ bundle lock
如果您没有composer.lock
答案是"否",您必须使用以下方式生成锁定文件:
composer install
不用Composer.lock
安装如果您之前从未运行命令,并且也有 no Composer.lock File出现,Composer简单地解决了您的Composer.json文件中列出的所有依赖项,下载最新版本在您的项目中的供应商目录中的文件。
来源:getComposer.org
nb潜在问题:没有锁定文件作曲家将使用依赖项的最新版本。
如果您已经有composer.lock
如果您已经有一个composer.lock
,而作曲家则抱怨它是不同步的,那么您会看到此警告:
警告:锁定文件与composer.json的最新更改不是最新的。您可能会得到过时的依赖关系。运行更新以更新它们。
要解决此问题,您可以在不更新依赖项的情况下更新锁定文件本身。这仅在锁定文件中更新content-hash
:
composer update --lock
来自作曲家手册:
- 锁定仅更新锁定文件哈希来抑制有关锁定文件已过时的警告。
编写锁定文件composer.lock
没有下载软件包:
composer update --no-install
- NO-INSTALL:更新Composer.lock File。
不运行安装步骤。
https://getcomposer.org/doc/03-cli.md#update-u-upgrade
(最初是针对作曲家版本2.2.5的(
composer install --ignore-platform-req=ext-fileinfo
解决了我的问题。它起作用100%。