У меня есть сторонняя библиотека в composer.json:
some/library:version
И пространство имен выглядит так:
ns1\ns2\MainClass
Все работало просто отлично, пока однажды эта библиотека не изменила свою структуру пространства имен.
Проблема в том, что когда я композитор обновляю зависимости.
Он (композитор) сохраняет прежнюю настройку пространства имен psr4 (autoload_psr4.php).
Я проверил "instal.json" и обнаружил, что он также загрузил неподходящий конфиг.
Но в папке vendor библиотека правильная.
В файле composer.lock настройки пакета «require», «require-dev» и «autoload» не обновляются. - Думаю, это точка останова.
Я пробовал:
- очистить весь кеш и переустановить все
-
- очистить папку vendor и все, кроме composer.json и переустановить
-
- переключиться на версию библиотеки dev-master и изменить библиотеку composer.json (это моя библиотека)
Спасибо.
Теперь я почти уверен, что это вызвано настройкой пакета (удаленного), я создал новый проект и попытался получить самую новую версию (или dev-master), но была извлечена только та «специальная» (старая) версия ,
Я заметил единственную разницу между «специальной» версией и более новой:
"специальный":
требуется: {PHP:> = 5,6}
новее:
требуется: {PHP:> = 7,0}
PS: пакет больше ничего не требует.
Я полагаю, это может быть причиной конфликта из-за того, что мои проекты требуют и этот пакет требует изменения.