Композитор игнорирует composer.json определенного коммита - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь использовать очень специфический коммит из репозитория:

"monolog/monolog": "dev-master#7d20351afc85aa23c5795309c9984a1e93d81c27"

Что происходит, я получаю следующее сообщение об ошибке:

Problem 1
    - monolog/monolog dev-master requires php ^7.1 -> your HHVM version does not satisfy that requirement.
    - monolog/monolog dev-master requires php ^7.1 -> your HHVM version does not satisfy that requirement.
    - Installation request for monolog/monolog dev-master#7d20351afc85aa23c5795309c9984a1e93d81c27 -> satisfiable by monolog/monolog[dev-master].

Что было бы разумно, если бы я указывал на просто master, поскольку для composer.json требуется ^ 7.1 из php. Однако нужной мне конкретной версии нет. Я предполагаю, что проверяет мастер вместо того, что я даю Как я могу обойти эту проблему?

1 Ответ

0 голосов
/ 03 июля 2018

Это ожидается и задокументировано:

Временами это удобно, но не следует использовать пакеты в долгосрочной перспективе, потому что это связано с техническими ограничениями. Метаданные composer.json по-прежнему будут считываться из имени ветви, которое вы укажете до хэша. Из-за этого в некоторых случаях это не будет практичным обходным путем, и вы всегда должны пытаться переключаться на помеченные выпуски как как только сможешь.

https://getcomposer.org/doc/articles/troubleshooting.md#i-have-locked-a-dependency-to-a-specific-commit-but-get-unexpected-results-

В вашем случае вы, вероятно, сможете использовать другое имя ветви в качестве обходного пути:

"monolog/monolog": "1.x-dev#7d20351afc85aa23c5795309c9984a1e93d81c27"

Но лучшим решением будет переключиться на обычные ограничения и использовать помеченные релизы. Этот хэш относится к 3-летней версии, вам, вероятно, следует перейти на что-то более новое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...