简体   繁体   中英

resolving composer conflict - unclear on dependency 'rules'

I have a version of laravel that I am trying to add a third-party non-laravel webservice api wrapper into. the wrapper has a requirement for guzzle >= 6 and the version of laravel has a requirement for guzzle ^7

Looking at the api, it doesn't use anything complex in guzzle so I'm pretty sure it's usage of it will be compatible with v7. Reading the composer docs, I see where it says the use of the caret restricts it to => 7 but < 8, but I don't understand why the >= 6 on the second package is causing a conflict (it's not using the caret and is saying it can use anything greater than 6)

How do I resolve this conflict so I can use this API within my website code?

updated:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires jacob-hyde/printify ^1.0 -> satisfiable by jacob-hyde/printify[v1.0].
    - jacob-hyde/printify v1.0 requires guzzlehttp/guzzle ^6.3 -> found guzzlehttp/guzzle[6.3.0, ..., 6.5.x-dev] but it conflicts with your root composer.json require (^7.0.1).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

OK, as shown in the comments - the one that was published on packagist had a different composer.json than the one on github. For the time being, I'm just adding a repositories entry in the composer.json rather than creating/refactoring/testing a fork while building my own api interface. ugh

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM