Подтвердить что ты не робот

Разница между требованием и установкой против создания проекта в композиторе

Я не понимаю, как работает create-project в композиторе. Возьмем Laravel в качестве примера.

Я могу установить эту фреймворк PHP с помощью следующей команды:

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

Эта команда устанавливает фреймворк для меня, оставляя меня с несколькими папками в корне моей директории:

  • Приложение
  • самозагрузки
  • общественности
  • поставщика

Плюс некоторые файлы.

Но когда я просто использую следующую команду композитора:

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

Затем это устанавливает только папку vendor. Никакие другие файлы и папки не загружаются композитором.

Как получилось? Что это такое? Как композитор знает, какие другие файлы получить, когда я использую команду create-project laravel/laravel, и почему я получаю только vendor папку, когда я делаю require laravel/laravel?

4b9b3361

Ответ 1

require добавит зависимость к файлу composer.json и загрузит его в каталог vendor, как вы правильно заметили.

create-project, с другой стороны, будет клонировать зависимость, т.е. использовать зависимость в качестве шаблона для нового проекта. Взгляните на хранилище за laravel/laravel: https://github.com/laravel/laravel