У меня есть собственное расширение, и мне нужно настроить PHPStan использовать правила из дополнительного пакета, избегая при этом основного кода TYPO3. Для этого я создал специальную команду ddev для запуска PHPStan в контейнере DDEV. Однако при выполнении команды я получаю следующую ошибку:
/var/www/html/vendor/bin/ phpstan анализирует -c phpstan.neon
PHP Неустранимая ошибка: Uncaught RuntimeException: невозможно установить псевдоним загрузчика, поскольку он уже зарегистрирован! в /var/www/html/packages/my_extension/vendor/typo3/class-alias-loader/src/ClassAliasMap.php:72
Вот соответствующая часть моего файла композитора.json для расширения:
Код: Выделить всё
"require-dev": {
"friendsofphp/php-cs-fixer": "3.64.*",
"phpstan/phpstan": "1.12.*",
"phpstan/extension-installer": "1.4.*",
"saschaegerer/phpstan-typo3": "1.10.*",
"captainhook/captainhook": "5.23.*"
}
- Когда я запускаю стандартную команду анализа phpstan, анализ выполняется успешно используя мою собственную конфигурацию phpstan.neon. Однако она включает ошибки, связанные с основным кодом TYPO3, что указывает на то, что правила, специфичные для TYPO3, не применяются.
- Та же конфигурация корректно работает в другой среде с TYPO3 v12 и PHP 8.2. Я сравнил обе среды, но не обнаружил существенных различий.
- Убедитесь, что конфигурации и зависимости идентичны в обеих средах.
- Проверка PHPStan, установщика расширений, phpstan-typo3 и TYPO3- соответствующую документацию, но я не смог найти решение.
- Поиск подобных проблем в Интернете, но пока ничего не помогло.
Что может быть причиной этой проблемы и как ее решить? Любые предложения или идеи очень ценятся. Спасибо!
Привет, Chanyss921.
Подробнее здесь: https://stackoverflow.com/questions/792 ... registered
Мобильная версия