在composer中,require和install与create-project之间的区别

时间:2014-04-08 17:45:17

标签: php composer-php

我不了解create-project在作曲家中是如何运作的。让我们以Laravel为例。

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

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

这个命令为我安装了框架,在我的目录根目录中留下了一些文件夹:

  • 应用
  • 自举
  • 公共
  • 供应商

加上一些文件。

但是当我只使用以下composer命令时:

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

然后,这只会安装vendor文件夹。作曲家没有下载任何其他文件和文件夹。

为什么?有什么不同?当我使用create-project laravel/laravel命令时,作曲家如何知道要获取的其他文件?为什么我在vendor时只获取require laravel/laravel文件夹?

1 个答案:

答案 0 :(得分:14)

require会向composer.json文件添加依赖项,并将其加载到vendor目录中,因为您已经正确注意到了。

另一方面,

create-project克隆依赖项,即将依赖项用作模板用于新项目。查看laravel/laravelhttps://github.com/laravel/laravel

背后的存储库