aws / aws-sdk-php

Official repository of the AWS SDK for PHP (@awsforphp)
http://aws.amazon.com/sdkforphp
Apache License 2.0
5.99k stars 1.2k forks source link

Missing dependency for symfony/filesystem #2941

Open kkmuffme opened 2 weeks ago

kkmuffme commented 2 weeks ago

Describe the bug

https://github.com/aws/aws-sdk-php/blob/master/composer.json

https://github.com/aws/aws-sdk-php/tree/master/src/Script/Composer#removing-unused-services uses symfony filesystem under the hood though - therefore currently this leads to a fatal error: https://github.com/aws/aws-sdk-php/blob/master/src/Script/Composer/Composer.php#L24 (https://github.com/aws/aws-sdk-php/blob/master/src/Script/Composer/Composer.php#L6)

Expected Behavior

no error

Current Behavior

Fatal error

Reproduction Steps

https://github.com/aws/aws-sdk-php/tree/master/src/Script/Composer#removing-unused-services

Possible Solution

As a temporary workaround one can install symfony/filesystem as dependency manually

As a permanent solution this package should be added to the SDK dependencies (require, not require-dev)

Additional Information/Context

No response

SDK version used

3.312.0

Environment details (Version of PHP (php -v)? OS name and version, etc.)

8.3.x - error is version independent

yenfryherrerafeliz commented 2 weeks ago

Hi @kkmuffme, thanks for opening this issue. Our package.json requires "composer/composer", which we can see here, and this dependency requires symfony/filesystem, which we can confirm here. This mean that this dependency should always be present once you resolve the dependencies for the SDK. Please let me know if that is not the case for you, and if so, can you please explain why?

Thanks!

kkmuffme commented 2 weeks ago

Our package.json requires "composer/composer"

This is only in require-dev not in require and therefore doesn't exist when bundling the package for release with --no-dev flag