【问题标题】:Suppress "Ambiguous class resolution" warning on composer dump-autoload -o禁止 composer dump-autoload -o 上的“不明确的类解析”警告
【发布时间】:2014-06-12 13:31:29
【问题描述】:

我的情况如下:

我想在 openshift 上通过“git push”部署一个 php-app。依赖关系通过作曲家解决。 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)期间,一个抱怨“不明确的类解析”的错误被写入 stderr(我想),导致部署失败。代码使用单元/集成测试在本地进行测试,并被证明可以工作,即使使用这个错误的包。

远程:警告:不明确的类解析,“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 ",将使用第一个。

他们是否可以忽略此特定警告(例如未记录的选项),而不忽略命令生成的所有其他警告和/或消息?或者是否可以从自动加载优化中排除特定的子依赖项以避免警告并让部署成功而​​不忽略所有可能的错误?

【问题讨论】:

    标签: php deployment composer-php openshift


    【解决方案1】:

    在对作曲家用户列表进行讨论后,此问题已修复

    https://github.com/composer/composer/commit/05d9912f97a2decf6a5c08dfa569dcf23d79b16d

    如果其他人遇到此问题,请使用

    将 composer 更新到最新版本
    composer selfupdate
    

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 2018-06-06
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 2018-09-09
      • 2017-03-05
      • 2016-01-23
      相关资源
      最近更新 更多