drupal - 无法通过 Drupal 8 中的 Composer 更新 dompdf

标签 drupal composer-php dompdf drupal-8

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

  • Composer :12.4.1
  • 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 的供应商模块。

另外,“只能安装其中之一”出现三次是有原因的吗?

预先感谢您的任何建议。

最佳答案

这个问题似乎是在将 dompdf 从版本 0.7.0 更新到 0.8.0 时发生的。由于某种原因,更新在 Composer 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

关于drupal - 无法通过 Drupal 8 中的 Composer 更新 dompdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44769437/

相关文章:

php - 无法让 Composer "path"存储库工作

symfony - 当我尝试通过更改 `extra.symfony.require` 升级 Symfony 时,为什么会出现此错误?

php - 使用dompdf将javascript生成的内容添加到pdf中

php - 带有西里尔字符的 DOMPDF 问题

javascript - drupal 6 和 jquery 1.4/1.5

android - 为 android 创建 drupal web 服务

jquery - 我应该使用 iframe 而不是 ajax 吗?

php - namespace 错误。卡在 'MyApp\Chat'

C#:Drupal 数据库访问

php - Dompdf 0.8.3 不在 PHP 7.2 和 CodeIgniter 3 中获取远程 CSS