作曲家中的“需要安装”与“创建项目”之间的区别

2022-08-30 15:20:43

我不明白作曲家是如何工作的。让我们以Laravel为例。create-project

我可以使用以下命令安装此PHP框架:

composer create-project laravel/laravel --prefer-dist

此命令为我安装框架,在我的dir的根目录中留下几个文件夹:

  • 应用程序
  • 启动
  • 公共
  • 供应商

加上一些文件。

但是当我简单地使用以下作曲家命令时:

composer require laravel/laravel --prefer-dist
composer install

然后,这只会安装该文件夹。作曲家不会下载其他文件和文件夹。vendor

怎么会这样?有什么不同?Composer 如何知道当我使用该命令时要获取哪些其他文件,以及为什么我只在使用该命令时获取该文件夹?create-project laravel/laravelvendorrequire laravel/laravel


答案 1

require将向文件添加依赖项,并将其加载到目录中,如您正确注意的那样。composer.jsonvendor

create-project另一方面将克隆依赖项,即使用依赖项作为新项目的模板。看看背后的存储库:https://github.com/laravel/laravellaravel/laravel


答案 2

推荐