Как избежать ошибки «Не удалось найти классы внутри» с Composer? - PullRequest
0 голосов
/ 10 января 2020

(я знаю, что другие написали об этом , но ответы в данном случае не помогают)

У меня есть плагин WordPress PHP (https://github.com/LiquidChurch/lqd-messages/), который использует WDS-шорткоды , который в свою очередь использует TGM-Plugin-Activation . Когда я запускаю composer install из плагина lqd-messages, я получаю следующую ошибку:

в ClassMapGenerator. php строка 69:

Не удалось найти классы внутри " /lqd-messages/vendor/webdevstudios/wds-shortcodes/vendor/tgmpa/tgm-plugin-activation/class-tgm-plugin-activation.php "который не является файлом или папкой"

Затем я могу go в /lqd-messages/vendor/webdevstudios/wds-shortcodes/vendor и увидеть, что папки tgmpa нет.

Если Затем я go возвращаюсь к /wds-shortcodes и запускаю composer install, папка tgmpa будет успешно создана.

Очевидно, что это не идеально. Есть ли способ обойти эти дополнительные шаги?

1 Ответ

2 голосов
/ 13 января 2020

Это ошибка в пакете webdevstudios/wds-shortcodes - их настройки автозагрузки неверны. Зависимости не должны объявлять загрузку файлов из других зависимостей внутри каталога vendor - это их не касается (и эти файлы не будут существовать в некоторых сценариях ios, как у вас).

Я могу только порекомендовать разветвить этот пакет и исправить настройки автозагрузки:

"autoload": {
    "classmap": ["includes/"]
},

Кстати: вы совершили ту же ошибку в вашем пакете .

...