The omnipay/paymentexpress dependency should be fixed at ~2.0, as recommended at https://github.com/thephpleague/omnipay-paymentexpress

{
    "require": {
        "omnipay/paymentexpress": "~2.0"
    }
}

This was raised in #2934276: Installing commerce_dps via composer fails [won't fix] but that issue is very long now and I will leave it for "can't install via composer" things.

Comments

xurizaemon created an issue. See original summary.

xurizaemon’s picture

Issue summary: View changes
xurizaemon’s picture

Title: Fix omnipay/paymentexpress version » Require omnipay/paymentexpress:~2.0

Clearer title

xurizaemon’s picture

Status: Active » Needs review
StatusFileSize
new530 bytes

  • 79b50a6 committed on 8.x-1.x
    Issue #3000164: omnipay/paymentexpress:~2.0
    
dieuwe’s picture

With the 1.0 release, composer would indeed not install because of omnipay3, but trying the latest dev with omnipay2 didn't work either.

I got conflicts in symfony/event-dispatcher and symfony/http-foundation. (I don't have time to debug that any further.)

Throwing in a replace to just ignore omnipay altogether worked so that the module could be installed. I did this because according to the README there isn't actually a dependency on omnipay.

    "replace": {
        "omnipay/paymentexpress": "*"
    },

Perhaps that could be clarified? Do you need the omnipay package to use this module? (I suppose I am about to find out, but it would be nice to have that documented.)

dieuwe’s picture

OK, so clearly ominpay is required. Yet I still get the same conflicts that spawned the issue with the 2.0 branch of it and also the same issues with the 3.0 branch.

Are there any good instructions for a manual install?

dieuwe’s picture

Status: Needs review » Needs work

When using the 1.0-beta1 release of this module (with omnipay 3), the fix is to first include:

composer require php-http/guzzle6-adapter

See this issue on github.

I still can't get omnipay 2 to work due to conflicts with Symfony packages. (So perhaps this commit should be reverted?)

This is really a work-around and the package should be properly required by one of the omnipay packages.

xurizaemon’s picture

php-http/guzzle6-adapter is one of many HTTP client adapters you can choose. and Drupal 8 ships with Guzzle 6 so this should introduce no new dependencies (besides the adapter!). I guess that's OK. I'm not sure if there's reason to give people the option of using a different adapter? (drupal/core has guzzle/guzzle:^6.2.1 today, is it possible we'd see Guzzle 7 in a later release? IDK - and I'm still learning this newfangled composer stuff, so I'm all ears ...)

Just to be clear: the commit above requires omnipay/paymentexpress:~2, which in turn requires league/omnipay:~3. When you say "you can't get omnipay 2 to work due to conflicts", do you mean omnipay/paymentexpress 2? Are you able to paste the conflicts you run into? That might make it clearer. (Pasting to gist.github.com etc is fine, #2934276: Installing commerce_dps via composer fails [won't fix] ended up with heaps of scrolling to read it ...)

PHP7.1+ is required to use league/omnipay:~3 & omnipay/common:~3.

dieuwe’s picture

I just got back to this for another project. I've created a gist for you with 4 output files.

https://gist.github.com/dieuwedeboer/a4a75de5b89d2edc566f60da2c430d30

The only command that works is:

composer require php-http/guzzle6-adapter drupal/commerce_dps

The commit in this issue breaks the install, so the latest dev is unusable for me. I can't quite gather what would be needed from the output (a complaint about some PHP extensions?)

I have no idea how you would do a manual install of this module, but I suspect you'd have to manually download all these libraries.

I suggest that the patch above be reverted and also that the project description and README be updated to inform the user that some kind of adapter is required OR that the adapter is required by the module's composer file. (You've indicated that you want to avoid the later, which is fine, as long as there are clear instructions.)

I am guessing there are more people using this module, I just have no clue as to how they're installing it :)

xurizaemon’s picture

Status: Needs work » Closed (won't fix)

Closing this in favour of #3157616: omnipay/paymentexpress:~3.0.