Как заставить composer dump-autoload запускаться с нуля? - PullRequest
2 голосов
/ 05 апреля 2020

Каков точный набор файлов, которые я должен удалить вручную, чтобы убедиться, что последующий вызов composer dump-autoload будет вести себя ТОЧНО, как это было бы в девственном недавно клонированном composer проекте, который был только composer install ed , но никогда ранее dump-autoload ed?

Я пытаюсь воспроизвести и отладить проблему, возникающую при выполнении команды composer dump-autoload, выполняемой как часть docker построения образа.

Я хочу чтобы избежать медленного фактического выполнения сборки docker десятки раз во время итеративного процесса поиска решения.

Удаление всего каталога vendor/ и повторное выполнение composer install каждый раз также неоптимально.

1 Ответ

2 голосов
/ 05 апреля 2020

Он всегда запускается с нуля. Но я думаю, что если вы хотите быть более уверенным, вы можете просто удалить ранее созданные файлы.

Созданные файлы vendor/autoload.php, а некоторые на vendor/composer, так что вы можете удалить их вручную перед повторным выгрузка автозагрузчика.

Это содержимое этого каталога fre sh из composer install --no-autoloader:

└── vendor/
   └── composer/
      ├── semver/
      ├── xdebug-handler/
      ├── installed.json
      └── LICENSE

И это его содержимое после выполнения composer dump-autoload:

├── vendor/
│   └── composer/
│      ├── semver/
│      ├── xdebug-handler/
│      ├── autoload_classmap.php
│      ├── autoload_files.php
│      ├── autoload_namespaces.php
│      ├── autoload_psr4.php
│      ├── autoload_real.php
│      ├── autoload_static.php
│      ├── installed.json
│      └── LICENSE
└── autoload.php

Так что вам в основном нужно просто удалить

  • vendor/autoload.php
  • vendor/composer/autoload_*
  • vendor/composer/ClassLoader.php

И вы можете перезапустить composer dump-autoload с нетронутой начальной точки.

...