Зависимость от композитора недоступна для PHPDOX

Я пытаюсь установить phpdox через композитор.

"require": {
    "phploc/phploc": "2.0.6",
    "phpunit/phpunit": "4.2.4",
    "pdepend/pdepend": "2.0.0",
    "phpmd/phpmd": "2.0.0",
    "squizlabs/php_codesniffer": "2.0.0a2",
    "sebastian/phpcpd": "2.0.*@dev",
    "theseer/phpdox": "0.6.6.1"
}

Который производит следующее:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

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
  - Installation request for theseer/phpdox 0.6.6.1 -> satisfiable by theseer/phpdox[0.6.6.1].
  - theseer/phpdox 0.6.6.1 requires nikic/php-parser >=1.0.0 -> no matching package found.

Potential causes:
  - A typo in the package name
  - The package is not available in a stable-enough version according to your minimum-stability setting

Тем не менее, на веб-сайте Packagist говорится, что phpdox имеет зависимость nikic/php-parser: >=1.0.0 который не существует.

Как мне решить это?

1 ответ

Решение

Посылка nikic/php-parser был помечен как бета-версия 1.0, а не как стабильный выпуск.

theseer/phpdox требует версии 1.0.0, однако она minimum-stability:dev а также prefer-stable:true в своем собственном composer.json, Эти настройки можно определить только в корне composer.json,

Два способа это исправить:

  1. Требуйте необходимую бета-версию этого пакета самостоятельно: composer require nikic/php-parser:~1.0@beta сделал бы это.
  2. Также установите минимальную стабильность в настройках по меньшей мере "бета" и добавьте флаг предпочитаемую стабильность, чтобы избежать попадания ВСЕ пакетов в бета-стабильность.

Читая инструкции по установке, я понял, что вам не требуется этот инструмент напрямую через Composer. Я не вижу причины, почему бы не сделать это, но это, вероятно, не ожидалось. Поэтому необязательный шаг 3: Откройте тикет на Github, чтобы исправить эту проблему.

Другие вопросы по тегам