phpmentors-jp / workflower

A BPMN 2.0 workflow engine for PHP
https://github.com/phpmentors-jp/workflower/wiki
BSD 2-Clause "Simplified" License
692 stars 145 forks source link

Composer conflict phpmentors/workflower-bundle 1.3.* #64

Open ArjandeRuyter opened 4 years ago

ArjandeRuyter commented 4 years ago

when executing: composer require phpmentors/workflower "1.4.*" the following problem occurs.

Problem 1

symfony/cache v5.1.3 is required by phpmentors/workflower (v1.4.1)

iteman commented 4 years ago

This issue could not be reproduced in PHP 7.4.7 on Windows 10 as the following:

$ php ~/bin/composer.phar require phpmentors/workflower-bundle "1.4.*"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 39 installs, 0 updates, 0 removals
  - Installing paragonie/random_compat (v9.99.99): Downloading (100%)
  - Installing symfony/polyfill-php70 (v1.18.1): Downloading (100%)
  - Installing psr/log (1.1.3): Downloading (100%)
  - Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)
  - Installing symfony/polyfill-ctype (v1.18.1): Downloading (100%)
  - Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)
  - Installing symfony/deprecation-contracts (v2.1.3): Downloading (100%)
  - Installing symfony/polyfill-php72 (v1.18.1): Downloading (100%)
  - Installing symfony/polyfill-intl-normalizer (v1.18.1): Downloading (100%)
  - Installing symfony/polyfill-intl-idn (v1.18.1): Downloading (100%)
  - Installing symfony/mime (v5.1.3): Downloading (100%)
  - Installing symfony/http-foundation (v4.4.11): Downloading (100%)
  - Installing symfony/event-dispatcher-contracts (v1.1.9): Downloading (100%)
  - Installing psr/container (1.0.0): Downloading (100%)
  - Installing psr/cache (1.0.1): Downloading (100%)
  - Installing symfony/event-dispatcher (v4.4.11): Downloading (100%)
  - Installing symfony/debug (v4.4.11): Downloading (100%)
  - Installing symfony/polyfill-util (v1.18.1): Downloading (100%)
  - Installing symfony/polyfill-php56 (v1.18.1): Downloading (100%)
  - Installing symfony/http-kernel (v3.4.43): Downloading (100%)
  - Installing symfony/service-contracts (v1.1.9): Downloading (100%)
  - Installing symfony/dependency-injection (v3.4.43): Downloading (100%)
  - Installing symfony/polyfill-intl-grapheme (v1.18.1): Downloading (100%)
  - Installing symfony/string (v5.1.3): Downloading (100%)
  - Installing symfony/inflector (v5.1.3): Downloading (100%)
  - Installing symfony/property-access (v4.4.11): Downloading (100%)
  - Installing symfony/security (v3.4.43): Downloading (100%)
  - Installing symfony/filesystem (v4.4.11): Downloading (100%)
  - Installing symfony/config (v3.4.43): Downloading (100%)
  - Installing symfony/security-bundle (v3.4.43): Downloading (100%)
  - Installing symfony/finder (v3.4.43): Downloading (100%)
  - Installing symfony/var-exporter (v4.4.11): Downloading (100%)
  - Installing symfony/cache-contracts (v1.1.9): Downloading (100%)
  - Installing symfony/cache (v4.3.11): Downloading (100%)
  - Installing symfony/expression-language (v4.4.11): Downloading (100%)
  - Installing phpmentors/domain-kata (v1.4.0): Downloading (100%)
  - Installing piece/stagehand-fsm (v2.6.0): Downloading (100%)
  - Installing phpmentors/workflower (v1.4.1): Downloading (100%)
  - Installing phpmentors/workflower-bundle (v1.4.0): Downloading (100%)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/polyfill-intl-normalizer suggests installing ext-intl (For best performance)
symfony/polyfill-intl-idn suggests installing ext-intl (For best performance)
symfony/event-dispatcher-contracts suggests installing psr/event-dispatcher
symfony/http-kernel suggests installing symfony/browser-kit
symfony/http-kernel suggests installing symfony/console
symfony/http-kernel suggests installing symfony/var-dumper
symfony/service-contracts suggests installing symfony/service-implementation
symfony/dependency-injection suggests installing symfony/yaml
symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (Generate service proxies to lazy load them)
symfony/polyfill-intl-grapheme suggests installing ext-intl (For best performance)
symfony/security suggests installing symfony/form
symfony/security suggests installing symfony/validator (For using the user password constraint)
symfony/security suggests installing symfony/routing (For using the HttpUtils class to create sub-requests, redirect the user, and match URLs)
symfony/security suggests installing symfony/ldap (For using the LDAP user and authentication providers)
symfony/config suggests installing symfony/yaml (To use the yaml reference dumper)
symfony/security-bundle suggests installing symfony/security-acl (For using the ACL functionality of this bundle)
phpmentors/workflower-bundle suggests installing doctrine/orm (>= 2.4.0 provides transparent serialization/deserialization support for entities with Doctrine ORM)
phpmentors/workflower-bundle suggests installing symfony/doctrine-bridge (>=2.8.0 provides transparent serialization/deserialization support for entities with Doctrine ORM)
Writing lock file
Generating autoload files
30 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Let me know how can I reproduce this?

ArjandeRuyter commented 4 years ago

PHP 7.2.26 (cli) (built: Dec 28 2019 22:17:07) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.26, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.9.1, Copyright (c) 2002-2020, by Derick Rethans with blackfire v1.30.0~linux-x64-non_zts72, https://blackfire.io, by Blackfire

composer require phpmentors/workflower-bundle "1.4.*"

`./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.

Problem 1

Installation failed, reverting ./composer.json to its original content. `

iteman commented 4 years ago

Two questions:

  1. Do you use an existing composer.json?
  2. What is the package that requires symfony/cache v5.1.3?
ArjandeRuyter commented 4 years ago
  1. yes, I am trying to use workflower with CodeIgniter 4
  2. phpmentors/workflower "1.4.*" requires symfony/cache

    composer require phpmentors/workflower "1.4.*" ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 13 installs, 0 updates, 0 removals

    • Installing psr/container (1.0.0): Loading from cache
    • Installing symfony/service-contracts (v2.1.3): Loading from cache
    • Installing psr/cache (1.0.1): Loading from cache
    • Installing symfony/polyfill-php80 (v1.18.1): Loading from cache
    • Installing symfony/var-exporter (v5.1.3): Loading from cache
    • Installing symfony/cache-contracts (v2.1.3): Loading from cache
    • Installing symfony/cache (v5.1.3): Loading from cache
    • Installing symfony/expression-language (v4.4.11): Loading from cache
    • Installing symfony/event-dispatcher-contracts (v1.1.9): Loading from cache
    • Installing symfony/event-dispatcher (v4.4.11): Loading from cache
    • Installing phpmentors/domain-kata (v1.4.0): Loading from cache
    • Installing piece/stagehand-fsm (v2.6.0): Loading from cache
    • Installing phpmentors/workflower (v1.4.1): Loading from cache symfony/service-contracts suggests installing symfony/service-implementation symfony/event-dispatcher-contracts suggests installing psr/event-dispatcher symfony/event-dispatcher suggests installing symfony/dependency-injection symfony/event-dispatcher suggests installing symfony/http-kernel Writing lock file Generating autoload files
iteman commented 4 years ago

In my enviroment, symfony/cache is required by symfony/expression-language directly as follows:

$ php ~/bin/composer.phar depends --tree symfony/cache
symfony/cache v4.3.11 Symfony Cache component with PSR-6, PSR-16, and tags
└──symfony/expression-language v4.4.11 (requires symfony/cache ^3.4|^4.0|^5.0)
   └──phpmentors/workflower v1.4.1 (requires symfony/expression-language ~2.8|~3.0|~4.0)
      └──phpmentors/workflower-bundle v1.4.0 (requires phpmentors/workflower ~1.2)
         └──__root__ (requires phpmentors/workflower-bundle 1.4.*)

This may be resolved when workflower-bundle supports Symfony 5.x. I will add support Symfony 5 on the master branch soon.

ArjandeRuyter commented 4 years ago

On https://github.com/phpmentors-jp/workflower/blob/master/docs/quick-start-guide.md it says:

Installing Workflower and PHPMentorsWorkflowerBundle First, we will use Composer to install Workflower and PHPMentorsWorkflowerBundle as project dependent packages:

$ composer require phpmentors/workflower "1.3." $ composer require phpmentors/workflower-bundle "1.3."

So I presumed to load 1.4 versions like that as well but if I only perform composer require phpmentors/workflower-bundle "1.4.*" I also installs phpmentors/workflower (v1.4.1) without the conflict.

` composer require phpmentors/workflower-bundle "1.4.*" ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 37 installs, 0 updates, 0 removals

`

composer depends --tree symfony/cache symfony/cache v4.3.11 Symfony Cache component with PSR-6, PSR-16, and tags └──symfony/expression-language v4.4.11 (requires symfony/cache ^3.4|^4.0|^5.0) └──phpmentors/workflower v1.4.1 (requires symfony/expression-language ~2.8|~3.0|~4.0) └──phpmentors/workflower-bundle v1.4.0 (requires phpmentors/workflower ~1.2) └──codeigniter4/appstarter (requires phpmentors/workflower-bundle 1.4.*)

Thanks for your help!!!!!

iteman commented 4 years ago

Hmm, I'll check the quick start guide.