作曲家可以在不实际下载软件包的情况下生成“composer.lock”吗?

2022-08-30 09:22:07

它确实存在一个命令,从 ?composer.lockcomposer.json

类似红宝石的东西:bundler$ bundle lock


答案 1

如果您没有composer.lock

答案是“否”,您必须使用以下命令生成锁定文件:

composer install

不使用作曲家安装.lock

如果您以前从未运行过该命令,并且也没有 composer.lock 文件,则 Composer 只需解析 composer.json 文件中列出的所有依赖项,并将其文件的最新版本下载到项目中的供应商目录中即可。

资料来源:getcomposer.org

注意潜在问题:如果没有锁定文件,Composer 将使用最新版本的依赖项。

如果您已经有一个composer.lock

如果您已经有 一个,并且 Composer 抱怨它不同步,您将看到以下警告:composer.lock

警告:锁定文件与 composer.json 中的最新更改不是最新的。您可能会获得过时的依赖项。运行更新以更新它们。

要解决此问题,您可以更新锁定文件本身,而无需更新依赖项。这将仅更新锁定文件中的:content-hash

composer update --lock

来自作曲家手册:

--lock 仅更新锁定文件哈希以禁止显示有关锁定文件过期的警告。


答案 2

在没有下载包的情况下写入锁定文件:composer.lock

composer update --no-install

作曲家版本 2.2.5


推荐