如何确定是什么阻止 Composer 安装最新版本的软件包?

Cou*_*les 4 php composer-php

我正在使用 Composer Dependency Manager for PHP,它不会安装最新版本的软件包。如何确定是什么阻碍了 Composer 安装最新版本?

例如,我symfony/consolecomposer.json版本中设置为:

"symfony/console": "~3.1",
Run Code Online (Sandbox Code Playgroud)

如果我运行composer outdated它会显示我symfony/console安装了 3.1.4 版本,并且该版本 3.3.5 可用并且与 semver 兼容。

$ composer outdated --no-ansi
symfony/console                    v3.1.4  ! v3.3.5  Symfony Console Component
Run Code Online (Sandbox Code Playgroud)

但是,如果我对更新进行试运行,则只有到 3.2.12 版为止。

$ composer update --dry-run --with-dependencies symfony/console
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 2 updates, 0 removals
  - Updating symfony/polyfill-mbstring (v1.2.0) to symfony/polyfill-mbstring (v1.4.0)
  - Installing psr/log (1.0.2)
  - Installing symfony/debug (v3.3.5)
  - Updating symfony/console (v3.1.4) to symfony/console (v3.2.12)
Run Code Online (Sandbox Code Playgroud)

symfony/console当 3.3.5 是最新版本时,我如何确定3.2.12 版本的阻碍因素?

Cou*_*les 11

prohibitswhy-not命令将显示什么阻止一个版本。

$ composer prohibits symfony/console 3.3.5
symfony/console  v3.3.5 conflicts  symfony/dependency-injection (<3.3)
Run Code Online (Sandbox Code Playgroud)

文档在这里