I’m working with Laravel 5.8 and I wanted to install GuzzleHttp package.
Firstly I tried running
composer require guzzlehttp/guzzle, but I got this error:
Problem 1 - guzzlehttp/guzzle[7.4.0, ..., 7.4.x-dev] require guzzlehttp/promises ^1.5 -> found guzzlehttp/promises[dev-master, 1.5.0, 1.5.1, 1.5.x-dev (alias of dev-master)] but the package is fixed to 1.4.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command. - Root composer.json requires guzzlehttp/guzzle ^7.4 -> satisfiable by guzzlehttp/guzzle[7.4.0, ..., 7.4.x-dev].
Then I tried to install a downgraded version so I run this:
composer require "guzzlehttp/guzzle:~5.3"
But got this error:
Problem 1 - Root composer.json requires guzzlehttp/guzzle ~5.3, found guzzlehttp/guzzle[5.3.0, ..., 5.3.x-dev] but these were not loaded, likely because it conflicts with another require. Problem 2 - anhskohbo/no-captcha is locked to version 3.3.0 and an update of this package was not requested. - anhskohbo/no-captcha 3.3.0 requires guzzlehttp/guzzle ^6.2|^7.0 -> found guzzlehttp/guzzle[dev-master, 6.2.0, ..., 6.5.x-dev, 7.0.0-beta.1, ..., 7.4.x-dev (alias of dev-master)] but it conflicts with your root composer.json require (~5.3). Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
So what’s going wrong here? How can I properly install GuzzleHttp for Laravel 5.8 version?
Try adding the
-w flag to you command:
composer require guzzlehttp/guzzle -w
One of you other dependencies has requiredment
guzzlehttp/promises which is currently locked to
1.4.1 in your
-w flag tells composer that it’s okay to update dependencies when installing the new dependency.
If that doesn’t work then you can try with the
-W flag instead.
Answered By – Morten H