fillup / walmart-partner-api-sdk-php

PHP client for Walmart Partner APIs
MIT License
37 stars 51 forks source link

Dependency Conflicts #3

Closed compujo closed 8 years ago

compujo commented 8 years ago

This project seemed to conflict with my other Composer projects, so I tried making a new Composer directory, but I still got the same error:

Problem 1

  • fillup/walmart-partner-api-sdk-php 1.0.2 requires guzzlehttp/guzzle-services dev-master -> satisfiable by guzzlehttp/guzzle-services[dev-master] but these conflict with your requirements or minimum-stability.
  • fillup/walmart-partner-api-sdk-php 1.0.1 requires guzzlehttp/guzzle-services dev-master -> satisfiable by guzzlehttp/guzzle-services[dev-master] but these conflict with your requirements or minimum-stability.
  • fillup/walmart-partner-api-sdk-php 1.0.0 requires guzzlehttp/guzzle-services dev-master -> satisfiable by guzzlehttp/guzzle-services[dev-master] but these conflict with your requirements or minimum-stability.
  • Installation request for fillup/walmart-partner-api-sdk-php ^1.0 -> satisfiable by fillup/walmart-partner-api-sdk-php[1.0.0, 1.0.1, 1.0.2].

I tried installing guzzlehttp/guzzle-services:dev-master first and got this:

Problem 1

  • fillup/walmart-partner-api-sdk-php 1.0.2 requires roave/security-advisories dev-master -> satisfiable by roave/security-advisories[dev-master] but these conflict with your requirements or minimum-stability.
  • fillup/walmart-partner-api-sdk-php 1.0.1 requires roave/security-advisories dev-master -> satisfiable by roave/security-advisories[dev-master] but these conflict with your requirements or minimum-stability.
  • fillup/walmart-partner-api-sdk-php 1.0.0 requires roave/security-advisories dev-master -> satisfiable by roave/security-advisories[dev-master] but these conflict with your requirements or minimum-stability.
  • Installation request for fillup/walmart-partner-api-sdk-php ^1.0 -> satisfiable by fillup/walmart-partner-api-sdk-php[1.0.0, 1.0.1, 1.0.2].

So I installed roave/security-advisories:dev-master and that worked; I was able to install this project to the new directory.

However, I now have 2 composer folders, and I'm not sure why this was an issue after I did a clean install.

Clean install directory structure: -Composer2 --vendor [empty folder] --.gitignore --composer.phar

The requirements for my original Composer dir: "twig/twig": "^1.0", "kunalvarma05/dropbox-php-sdk": "^0.1.0", "phpmailer/phpmailer": "^5.2"

fillup commented 8 years ago

Hi @compujosh, the problem is I depend on guzzlehttp/guzzle-services: dev-master which is not considered stable. I need to use dev-master because it includes a couple fixes that never got a release tag. To fix the stability issue, in your composer.json file, add the dependency for "guzzlehttp/guzzle-services": "dev-master". Composer is fine if you directly include non-stable packages because you defined them yourself, but it will complain if a dependency of yours has non-stable dependencies. Does that make sense?

So in your composer.json you should have:

  "guzzlehttp/guzzle-services": "dev-master",
  "fillup/walmart-partner-api-sdk-php": "^1.0.2"

Let me know if that resolves your issue.

compujo commented 8 years ago

Yeah I think I got it. I guess the second Composer directory is the best way to handle it for now. Thanks

fillup commented 8 years ago

@compujosh what do you mean by a second composer directory? I would only expect you to have the one composer.json, one composer.lock, and a single vendor/ directory.

compujo commented 8 years ago

Another project requires a stable version of guzzlehttp/guzzle-services, so I just copied composer to a new directory