Я в следующей ситуации:
Я хочу развернуть php-приложение с помощью «git push» в openshift. Зависимости разрешаются с помощью композитора. Файл composer.lock (блокировка зависимостей для конкретной желаемой версии) является частью репозитория.
Зависимости загружаются с deploy
сценария привязки deploy
используя:
${PHP_DIR}/bin/php $OPENSHIFT_DATA_DIR/composer.phar update --prefer-dist --no-dev -n ${PHP_DIR}/bin/php $OPENSHIFT_DATA_DIR/composer.phar dump-autoload --optimize -n
Одна из зависимостей ( htmlpurifier ) является зависимостью подзависимости. Во время второй команды (dump-autoload –optimize) в stderr (я полагаю) записывается ошибка с жалобой на «неоднозначное разрешение класса» -warning, что приводит к сбою развертывания. Код тестируется локально с использованием тестов unit / integration и проверен на работоспособность даже в этом ошибочном пакете.
remote: Предупреждение. Неоднозначное разрешение класса «HTML5» было найдено как в «/ var / lib / openshift / abc / app-root / runtime / repo / vendor / ezyang / htmlpuri fier / maintenance / PH5P.php» и «/ var / lib / openshift / abc / app-root / runtime / repo / vendor / ezyang / htmlpurifier / library / HTMLPurifier / Lexer / PH5P.php ", первый будет использоваться.
Является ли это способом игнорировать это конкретное предупреждение (например, недокументированный вариант), не игнорируя всех других предупреждений и / или сообщений, генерируемых командой? Или можно исключить определенную подзависимость от оптимизации автозагрузки, чтобы избежать предупреждения и разрешить развертывание без игнорирования всех возможных ошибок?
После обсуждения списка композиторов-пользователей это было исправлено в
https://github.com/composer/composer/commit/05d9912f97a2decf6a5c08dfa569dcf23d79b16d
Если кто-то еще сталкивается с этим, обновите композитор до последней версии, используя
composer selfupdate