One can add a package from the command line with the --prefer-source
option.
Surely should result in a change to composer.json
?
How is this shown? I can't see any difference after using --prefer-source
.
答案 0 :(得分:1)
如果composer.json
或--prefer-source
,--prefer-dist
文件中没有记录任何差异。唯一的是包本身的名称和版本约束。
差异可能发生在composer.lock
内部和vendor
文件夹本身。如果已安装软件包,则其状态将反映在它们在vendor
文件夹中的显示方式中。如果它们是签出存储库,那么Composer将继续像--prefer-source
那样对待它们,这可能会在切换到不同版本时加快某些操作。如果没有存储库,Composer将继续将该文件夹视为--prefer-dist
。
请注意,source
或dist
只有在composer.lock
中记录了相应的信息时才有效。如果没有记录dist
的下载位置,安装依赖项将导致存储库的检出,反之亦然。如果两个信息都可用,并且其中一个方法失败,则尝试另一个,即如果下载链接失败,则执行结账。
--prefer-source
选项实际上只会影响下载和安装本身,而不会影响依赖项的记录方式 - 这是有道理的,因为您可能希望在开发时检出源,但是您没有想要在部署到生产时克隆整个存储库。使用composer install
的命令行标志,您可以在将依赖项安装到新的供应商文件夹时随时改变主意,如果安装到现有的供应商文件夹中,则保留以前的选择。