它确实存在从composer.lock
composer.json
的命令
类似红宝石的bundler
:$ bundle lock
答案 0 :(得分:10)
答案是“否”,您必须使用以下方法生成锁定文件:
composer install
不使用composer.lock安装
如果您从未运行过该命令 之前还有没有composer.lock文件存在,Composer 只需解析您的composer.json文件中列出的所有依赖项 将其文件的最新版本下载到供应商目录中 在你的项目中。
NB潜在问题:如果没有锁定文件,编辑器将使用最新版本的依赖项。
作曲家抱怨它不同步(不记得确切的警告),然后你可以更新锁文件,但这实际上只更新文件中的哈希值:
composer update --lock
从作曲家手册:
- lock仅更新锁定文件哈希,以禁止显示有关锁定的警告 文件已过期。
答案 1 :(得分:5)
该功能已包含在v2.0版本中,请参见此处: https://github.com/composer/composer/pull/8669
答案 2 :(得分:1)
如果没有安装或更新this is by design,则无法创建锁定文件(归功于Manish Yadav)
锁定文件的目的是记录安装的确切版本,以便重新安装。这意味着,如果您的版本规格为1. *并且您的同事运行安装1.2.4的composer update,然后提交composer.lock文件,那么当您编写作曲家安装时,您也将获得1.2.4,甚至如果1.3.0已经发布。这可以确保每个参与项目的人都拥有相同的版本。