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?
CodePudding user response:
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 composer.lock
The -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.