duncanmcclean / simple-commerce

A simple, yet powerful e-commerce addon for Statamic.
https://statamic.com/addons/duncanmcclean/simple-commerce
Other
145 stars 38 forks source link

Error installing with Cashier #1125

Closed david-lobo closed 1 month ago

david-lobo commented 1 month ago

Description

I have another add-on installed that uses the latest version of cashier-stripe. I cannot install Simple Commerce as I get the error below. I think this is due to the stripe-php dependency in Simple Commerce being incompatible with the one in Cashier Stripe. Please could you let me know if there is any way to install Simple Commerce?

In Simple Commerce it is: "stripe/stripe-php": "^7.7"

In Cashier Stripe it is "stripe/stripe-php": "^13.0",

composer require duncanmcclean/simple-commerce

./composer.json has been updated
Running composer update duncanmcclean/simple-commerce
> Statamic\Console\Composer\Scripts::preUpdateCmd
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - duncanmcclean/simple-commerce[dev-runway-nested-field-prefix, dev-main, dev-fresh, dev-additional-cart-checks, v1.0.0-beta.1, ..., v1.0.0-beta.2, v7.0.0, ..., 7.x-dev] require stripe/stripe-php ^7.7 -> found stripe/stripe-php[v7.7.0, ..., v7.128.0] but the package is fixed to v13.18.0 (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.
    - duncanmcclean/simple-commerce[v1.0.0-beta.3, ..., v1.0.0-beta.16] require doctrine/dbal 2.10.x-dev -> found doctrine/dbal[2.1.5, ..., 2.13.9, 3.0.0, ..., 3.9.x-dev, 4.0.0-beta1, ..., 4.1.x-dev, 5.0.x-dev] but it does not match the constraint.
    - duncanmcclean/simple-commerce[v1.0.0-beta.17, ..., 1.0.x-dev] require statamic/cms ^3.0@beta -> found statamic/cms[v3.0.0-beta.1, ..., 3.4.x-dev] but it conflicts with your root composer.json require (^5.0).
    - duncanmcclean/simple-commerce[v2.0.0-beta.1, ..., v2.0.1] require calebporzio/sushi dev-master -> found calebporzio/sushi[dev-main, dev-revert-15-feature/style-ci, dev-revert-102-primary-key-string, v1.0.0, ..., v1.1.2, v2.0.0, ..., v2.5.2] but it does not match the constraint. Perhaps dev-master was renamed to dev-main?
    - duncanmcclean/simple-commerce[v2.0.2, ..., v2.4.0-beta.1] require moneyphp/money ^3.0 -> found moneyphp/money[dev-master, v3.0.0-alpha, ..., 3.x-dev (alias of dev-master)] but the package is fixed to v4.5.0 (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.
    - duncanmcclean/simple-commerce[v2.0.6, ..., v2.1.22] require php ^7.4 -> your php version (8.3.2) does not satisfy that requirement.
    - duncanmcclean/simple-commerce[v2.3.67, ..., 2.3.x-dev] require statamic/cms 3.1.* || 3.2.* -> found statamic/cms[v3.1.0-alpha.1, ..., 3.2.x-dev] but it conflicts with your root composer.json require (^5.0).
    - duncanmcclean/simple-commerce[v2.4.0-beta.2, ..., v2.4.0] require laravel/framework ^7.0|^8.0 -> found laravel/framework[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] but it conflicts with your root composer.json require (^11).
    - duncanmcclean/simple-commerce[v2.4.1, ..., 2.4.x-dev] require laravel/framework ^7.0|^8.0|^9.0 -> found laravel/framework[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev, v9.0.0-beta.1, ..., 9.x-dev] but it conflicts with your root composer.json require (^11).
    - duncanmcclean/simple-commerce[v3.0.0-beta.1, ..., 3.x-dev] require laravel/framework ^8.0|^9.0 -> found laravel/framework[v8.0.0, ..., 8.x-dev, v9.0.0-beta.1, ..., 9.x-dev] but it conflicts with your root composer.json require (^11).
    - duncanmcclean/simple-commerce[v4.0.0, ..., 4.x-dev] require laravel/framework ^9.0 -> found laravel/framework[v9.0.0-beta.1, ..., 9.x-dev] but it conflicts with your root composer.json require (^11).
    - duncanmcclean/simple-commerce[v5.0.0, ..., 5.x-dev, v6.0.0, ..., 6.x-dev] require laravel/framework ^10.0 -> found laravel/framework[v10.0.0, ..., 10.x-dev] but it conflicts with your root composer.json require (^11).
    - Root composer.json requires duncanmcclean/simple-commerce * -> satisfiable by duncanmcclean/simple-commerce[dev-runway-nested-field-prefix, dev-fresh, dev-main, dev-additional-cart-checks, v1.0.0-beta.1, ..., 1.0.x-dev, v2.0.0-beta.1, ..., 2.4.x-dev, v3.0.0-beta.1, ..., 3.x-dev, v4.0.0, ..., 4.x-dev, v5.0.0, ..., 5.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require duncanmcclean/simple-commerce:*" to figure out if any version is installable, or "composer require duncanmcclean/simple-commerce:^2.1" if you know which you need.

Steps to reproduce

  1. Install Laterst Statamic 5
  2. Install Latest Laravel Cashier Stripe (v15)
  3. Install Simple Commerce addon

Environment

Environment Application Name: Ecommerce Laravel Version: 11.20.0 PHP Version: 8.3.2 Composer Version: 2.7.7 Environment: local Debug Mode: ENABLED URL: ecommerce.test Maintenance Mode: OFF Timezone: Europe/London Locale: en

Cache Config: NOT CACHED Events: NOT CACHED Routes: NOT CACHED Views: NOT CACHED

Drivers Broadcasting: log Cache: file Database: mysql Logs: stack / single Mail: smtp Queue: sync Session: file

Statamic Addons: 7 Sites: 1 Stache Watcher: Enabled (auto) Static Caching: Disabled Version: 5.20.0 PRO

Statamic Addons cloudartisans/payments: dev-main cloudartisans/user-activations: dev-main jacksleight/statamic-memberbox: 2.1.3 studio1902/statamic-peak-browser-appearance: 3.5.0 studio1902/statamic-peak-commands: 8.4.2 studio1902/statamic-peak-seo: 8.15.3 studio1902/statamic-peak-tools: 6.3.2

duncanmcclean commented 1 month ago

We could probably update the stripe/stripe-php version constraint in Simple Commerce's composer.json file so it supports the version Cashier supports.

I'd accept a PR.

david-lobo commented 1 month ago

Thanks! I have created a PR. I tested by installing on a new project with Laravel Cashier 15 and seems to work fine.

github-actions[bot] commented 1 month ago

Released as part of v7.4.2.