【问题标题】:Unable to update dompdf via Composer in Drupal 8无法通过 Drupal 8 中的 Composer 更新 dompdf
【发布时间】:2017-06-26 22:13:02
【问题描述】:

我们正在尝试让所有未使用 Composer 安装的 Drupal 模块在 Composer 中进行管理。

  • 作曲家:1.4.12
  • Drupal:8.3.1

清除 Composer 的缓存后,我们运行了以下内容:

./composer require dompdf/dompdf;

这会返回:

./composer.json has been updated
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Can only install one of: phenx/php-svg-lib[v0.2, 0.1].
    - Can only install one of: phenx/php-svg-lib[v0.2, 0.1].
    - Can only install one of: phenx/php-svg-lib[v0.2, 0.1].
    - dompdf/dompdf v0.8.0 requires phenx/php-svg-lib 0.2.* -> satisfiable by phenx/php-svg-lib[v0.2].
    - Installation request for dompdf/dompdf ^0.8.0 -> satisfiable by dompdf/dompdf[v0.8.0].
    - Installation request for phenx/php-svg-lib (locked at 0.1) -> satisfiable by phenx/php-svg-lib[0.1].

Installation failed, reverting ./composer.json to its original content.

似乎正确的做法是不要将“phenx/php-svg-lib”锁定到版本 0.1,然后升级 dompdf,但是当我们修改 dompdf 的 composer.json 文件以要求 phenx/php-svg- lib version 0.2.*, clearcache,然后再试一次 require,我们得到和上面一样的错误,它仍然引用了 0.1 的锁。我还确认 dompdf 是唯一使用 phenx/php-svg-lib 的供应商模块。

另外,“只能安装其中一个”被列出 3 次是有原因的吗?

提前感谢您的任何建议。

【问题讨论】:

    标签: drupal composer-php dompdf drupal-8


    【解决方案1】:

    似乎在将dompdf 从版本0.7.0 更新到0.8.0 时会出现此问题。出于某种原因,该更新与作曲家1.2.x 完美配合,但在版本1.4.x 上确实会导致上述错误。

    为我完成这项工作的修复是删除

    "dompdf/dompdf": "^0.7.0"
    

    composer.json 文件然后运行:

    composer update
    

    结果应该是这样的:

    > DrupalProject\composer\ScriptHandler::checkComposerVersion
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 0 installs, 0 updates, 3 removals
      - Removing dompdf/dompdf (v0.7.0)
      - Removing phenx/php-font-lib (0.4)
      - Removing phenx/php-svg-lib (0.1)
    Writing lock file
    Generating autoload files
    

    然后需要一个新版本:

    composer require dompdf/dompdf
    

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 2020-09-03
      • 2016-08-28
      • 1970-01-01
      • 2021-09-20
      相关资源
      最近更新 更多