我处于以下情况:
我想通过" git push"部署一个php-app。在openshift上。依赖关系通过composer解决。 composer.lock文件(将依赖项锁定到特定的所需版本)是存储库的一部分。
使用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)期间,一个错误抱怨"不明确的类解析" -warning被写入stderr(我想),导致部署失败。代码在本地使用单元/集成测试进行测试,并证明可以工作,即使使用这个错误的包。
remote:警告:不明确的班级解析," HTML5"在" / var / lib中都找到了 / openshift / ABC / APP-根/运行/回购/供应商/ ezyang / htmlpuri 费里/维护/ PH5P.php"和" / var / lib / openshift / abc / app- 根/运行/回购/供应商/ ezyang / htmlpurifier /库/ HTMLPurifier /词法/ PH5P.php ",第一个将被使用。
他们是否可以忽略此特定警告(例如未记录的选项),而不会忽略该命令生成的所有其他警告和/或消息?或者是否可以从自动加载优化中排除特定的子依赖关系以避免警告并让部署成功而不忽略所有可能的错误?
答案 0 :(得分:2)
在对作曲家 - 用户列表进行讨论之后,这已在
中修复https://github.com/composer/composer/commit/05d9912f97a2decf6a5c08dfa569dcf23d79b16d
如果有其他人遇到此问题,请使用
将编辑器更新为最新版本composer selfupdate