php composer可以在不下载软件包的情况下生成`composer.lock`吗?

htzpubme  于 2023-05-27  发布在  PHP
关注(0)|答案(2)|浏览(299)

是否存在从composer.json生成composer.lock的命令?
类似于ruby的bundler$ bundle lock

von4xj4u

von4xj4u1#

如果您没有composer.lock

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

composer install

在没有composer.lock的情况下安装
如果您以前从未运行过该命令,并且没有composer.lock文件,Composer只需解析composer.json文件中列出的所有依赖项,并将其文件的最新版本下载到项目的供应商目录中。
来源:getcomposer.org

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

如果已经有composer.lock

如果你已经有一个composer.lock,而Composer抱怨它不同步,你会看到这个警告:
警告:锁定文件未与composer.json中的最新更改保持同步。您可能会得到过时的依赖项。运行更新以更新它们。
要解决这个问题,您可以更新锁定文件本身,而不更新依赖项。这将只更新锁定文件中的content-hash

composer update --lock

在Composer手册中:
--lock Only更新锁文件哈希,以隐藏有关锁文件过期的警告。

f8rj6qna

f8rj6qna2#

不下载软件包而写锁文件composer.lock

composer update --no-install

**--no-install:**更新composer.lock文件后不运行安装步骤。

https://getcomposer.org/doc/03-cli.md#update-u-upgrade
(最初针对Composer版本2.2.5报告)

相关问题