Closed devnullroot closed 2 years ago
Same here.
Sadly it seems like you always have to go digging through code and changelogs when installing a "non-breaking" minor upgrade through this template.
In 6.4.6.0, they moved the System scripts out of this production template repo into the core repo. If we git pull
the newest production repo and then composer install
, composer can't find system:update:prepare
which it's supposed to execute as a pre-install-cmd
and errors out.
To work around this, we need to restore this single command to it's original position. To do this, create the folder src/Command/
and download the latest SystemUpdatePrepareCommand.php prior to the move into it.
Then, add the following to config/services/defaults.xml
.
<services>
+ <service id="Shopware\Production\Command\SystemUpdatePrepareCommand">
+ <argument type="string">%kernel.shopware_version%</argument>
+ <argument type="service" id="event_dispatcher"/>
+ <argument type="service" id="service_container"/>
+ <tag name="console.command"/>
+ </service>
<service class="League\OAuth2\Server\CryptKey" id="shopware.private_key">
composer install
should now execute properly. Make sure to remove the folder and file src/Command/
again and revert the changes to config/services/defaults.xml
afterwards.
References:
PHP Version
7.4.25
Shopware Version
6.4.5.1
Expected behaviour
Updating the production template from 6.4.5.1 => 6.4.7.0 should work
Actual behaviour
Running:
results in missing files in src/Command:
Clearing the cache before "composer update" results in:
How to reproduce
see above