【发布时间】:2021-05-01 22:33:38
【问题描述】:
当我用 composer 初始化一个新项目时,我在终端出现这个错误:
未找到锁定文件。更新依赖项而不是从安装 锁定文件。如果您不这样做,请使用 composer update 而不是 composer install 有一个锁定文件。
谁能给我解释一下?
【问题讨论】:
-
那条消息到底有什么不清楚的地方?
标签: composer-php
当我用 composer 初始化一个新项目时,我在终端出现这个错误:
未找到锁定文件。更新依赖项而不是从安装 锁定文件。如果您不这样做,请使用 composer update 而不是 composer install 有一个锁定文件。
谁能给我解释一下?
【问题讨论】:
标签: composer-php
composer update 和 composer install 的相似之处在于它们都下载您的依赖项,但在一个重要方面有所不同。
更新命令将在composer.json 文件中检索满足版本约束的所有依赖项的最新版本。接下来,它必须发现要安装依赖项的确切版本、依赖项的依赖项、它们的依赖项等等,一直到底部。如果它找不到满足所有约束的一组版本,则命令退出并显示错误,解释它无法解决的问题以及原因。如果可以解决所有依赖项,它们将被下载到vendor 目录中。最后,将生成一个 composer.lock 文件,其中包含已安装的确切版本和提交。
如果存在锁定文件并且您运行composer install,则composer 不必执行依赖关系解析,因为它们已经被解析。它从锁定文件中下载每个包的确切版本。
您收到的消息是您的依赖项尚未解决(通过 update 命令),但如果没有 composer.lock 文件,运行 install 将起到更新的作用。
【讨论】: