Composer php composer.json如何记录--首选源代码

Composer php composer.json如何记录--首选源代码,composer-php,Composer Php,可以使用--preference source选项从命令行添加包。 肯定会导致更改为composer.json? 这是如何显示的?使用--首选源代码后,我看不到任何差异如果您--首选源代码或--首选dist,则composer.json文件中记录的内容没有差异。唯一的问题是包本身的名称和版本约束 差异可能出现在composer.lock内部和供应商文件夹本身中。如果软件包已安装,则其状态将反映在供应商文件夹中。如果它们是签出的存储库,那么Composer将继续像对待--首选源代码那样对待它们,这

可以使用
--preference source
选项从命令行添加包。 肯定会导致更改为
composer.json

这是如何显示的?使用
--首选源代码

后,我看不到任何差异如果您
--首选源代码
--首选dist
,则
composer.json
文件中记录的内容没有差异。唯一的问题是包本身的名称和版本约束

差异可能出现在
composer.lock
内部和
供应商
文件夹本身中。如果软件包已安装,则其状态将反映在
供应商
文件夹中。如果它们是签出的存储库,那么Composer将继续像对待
--首选源代码那样对待它们,这可能会在切换到不同版本时加快某些操作。如果没有存储库,Composer将继续将该文件夹视为
——preferreddist

请注意,
source
dist
只有在
composer.lock
中记录了适当的信息时才起作用。如果未记录
dist
的下载位置,安装依赖项将导致存储库的签出,反之亦然。如果两种信息都可用,并且其中一种方法失败,则尝试另一种方法,即,如果下载链接失败,则执行签出

--preference source
选项实际上只影响下载和安装本身,而不影响依赖关系的记录方式,这是有意义的,因为您可能希望在开发时签出源代码,但在部署到生产环境时不希望克隆整个存储库。使用
composer install
的命令行标志,您可以在任何时候将依赖项安装到新的供应商文件夹中时改变主意,如果安装到现有的供应商文件夹中,则保留以前的选择