2014-09-01 3 views
0

Я пытаюсь установить 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:[email protected] бы это сделать.
  2. Также установите параметры минимальной стабильности как минимум на «бета-версию» и добавьте флаг «Устойчивость к предпочтениям», чтобы избежать получения ВСЕХ пакетов в бета-стабильности.

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

+0

Другая альтернатива, которая возникла для меня, состояла в том, чтобы просто вернуться к предыдущим версиям phpdox, чтобы найти тот, чья зависимость существует. Хотя это может вызвать другие проблемы. (Являясь новичком в этих php-инструментах, может быть другая кривая обучения, скрывающаяся :)) – Maxcot

+0

Когда вы говорите: «... вы не должны требовать этот инструмент напрямую через Composer ...» Я полагаю, вы имеете в виду php-parser ? – Maxcot

+0

Нет, я имел в виду PHPDox. Существует [процедура установки, описанная с использованием Composer] (https://github.com/theseer/phpdox/blob/master/README.markdown). Предпочтительным способом является загрузка полного файла .phar. Альтернативно: клонировать репо и запускать 'comper install'. Не упоминается: включите пакет через Composer в свой собственный проект. И это, вероятно, имеет смысл, потому что вытягивание нескольких инструментов разработки, все с их собственным деревом зависимостей, в какой-то момент может иметь неприятную обратную связь с вашим собственным программным обеспечением: вы вынуждены использовать версии, которые также используют ваши инструменты для разработчиков. – Sven

Смежные вопросы