Composer требуют, чтобы установить пакеты не удалось

У меня есть проект с composer, который требует vendor / package-1 в основном файле проекта composer.json, vendor / package-1 требует vendor / package-2 в composer.json пакета package-1. В настоящее время я установил версию 1.18.11 vendor / package-1 и версию 2.3.2 vendor / package-2. Я хочу обновиться до новой версии vendor / package-1 1.19. * (Для этого требуется версия 2.4. * От vendor / package-2) и выполнить:

composer require vendor/package-1:1.19.*

Сбой и вывод, который я получаю

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
- vendor/package-1 v1.19.2 requires vendor/package2 2.4.* -> satisfiable by vendor/package2[v2.4.3, v2.4.0, v2.4.1, v2.4.2].
- vendor/package-1 v1.19.1 requires vendor/package2 2.4.* -> satisfiable by vendor/package2[v2.4.3, v2.4.0, v2.4.1, v2.4.2].
- vendor/package-1 v1.19.2 requires vendor/package2 2.4.* -> satisfiable by vendor/package2[v2.4.3, v2.4.0, v2.4.1, v2.4.2].
- Can only install one of: vendor/package2[v2.3.2, v2.4.3].
- Can only install one of: vendor/package2[v2.4.0, v2.3.2].
- Can only install one of: vendor/package2[v2.4.1, v2.3.2].
- Can only install one of: vendor/package2[v2.4.2, v2.3.2].
- Can only install one of: vendor/package2[v2.4.3, v2.3.2].
- Installation request for vendor/package2 == 2.3.2.0 -> satisfiable by vendor/package2[v2.3.2].
- Installation request for vendor/package-1 1.19.* -> satisfiable by vendor/package-1[v1.19.1, v1.19.2].

Installation failed, reverting ./composer.json to its original content.

Требуется ли указывать команду composer для всех зависимостей? Если я попробую

composer require vendor/package-1:1.19.* vendor/package-2:2.4.*

Это работает, но не обязательно указывать каждую зависимость, верно?

1

Решение

Похоже, что vendor / package2 требуется в фиксированной версии 2.3.2 или 2.3. * И не может быть обновлен до 2.4.

Как правило, вы должны попытаться ослабить требования к версии, чтобы обеспечить совместимые обновления. Для этого используйте оператор тильды, для пакета package2 укажите ~ 2.3 (минимум 2.3, обновляйте, если это не несовместимая версия 3). То же самое относится и к package1: если вам нужны функции, включенные в строку 1.19, вам потребуется ~ 1.19.

3

Другие решения

Это должно быть возможно с:

composer require vendor/package-1:1.19.* --update-with-dependencies
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector