@CentOS
PHP-разработчик

Как отдельно установить пакет другой версии в composer?

Привет!

В проекте используется Yii2, который использует codeception, который в свою очередь использует guzzle.
Мне нужно написать функционал в проекте с использованием guzzle 6.0, где была введена возможность асинхронных запросов.

Но composer не дает обновить guzzle, так в зависимостях для codeception жестко прописано
"guzzlehttp/guzzle": "~4.0|~5.0",

Можно ли как-то установить guzzle отдельно через composer?
  • Вопрос задан
  • 1941 просмотр
Решения вопроса 1
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
Подобное не делал, это лишь мысли.

1. Codeception нужен Yii2 для тестирования. Именно поэтому он размещен в секции "require-dev" в composer.json. То есть, если вы не используете тестирование, вы можете не подтягивать Codeception через Composer. Нужно лишь обновить пакеты с ключем --no-dev и те пакеты, которые прописаны в "require-dev", будут удалены с папки vendor. В "require" вы сможете прописать нужный вам Guzzle и установить его.

2. Теоретически(!) вы можете подключить несколько Composer к проекту, в разных папках. Вам лишь нужно подключить autoload.php c папки "vendor" к приложению. Но мне что-то мне подсказывает, что будет конфликт в неймспейсах, если вы попытаетесь подключить две разные версии Guzzle к проекту.

Пока писал сообщение попробовал установить нужную вам версию Guzzle.
Результат:
fb7c3-clip-21kb.png?nocache=1
composer.json
de44f-clip-44kb.png?nocache=1
Попробуйте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы