I'm trying to install Sylius 1.8 on ubuntu and I follow installation guide when I run composer install
I get following error:
Run composer recipes at any time to see the status of your Symfony recipes.
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 1
!!
!! // Clearing the cache for the prod environment with debug
!! // false
!!
!!
!! In FileLoader.php line 180:
!!
!! No identifier defined "Sylius\Bundle\ApiBundle\Command\RegisterShopUser". Y
!! ou should add #[\ApiPlatform\Core\Annotation\ApiProperty(identifier: true)]
!! " on the property identifying the resource." in . (which is being imported
!! from "/srv/sylius/vendor/sylius/sylius/src/Sylius/Bundle/ApiBundle/Resource
!! s/config/routing.yml"). Make sure there is a loader supporting the "api_pla
!! tform" type.
!!
!!
!! In IdentifiersExtractor.php line 65:
!!
!! No identifier defined "Sylius\Bundle\ApiBundle\Command\RegisterShopUser". Y
!! ou should add #[\ApiPlatform\Core\Annotation\ApiProperty(identifier: true)]
!! " on the property identifying the resource."
!!
!!
!! cache:clear [--no-warmup] [--no-optional-warmers] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command>
!!
!!
Script @auto-scripts was called via post-install-cmd
I have also used Sylius docker but the result was the same, it seems there is an issue with Api-Platform.
Sylius uses Api-Platform, and very recently version 2.6 of Api-Platform was released.
Since this release, all API resources —including custom DTOs— need to have an "identifier", as other users are finding out.
There already exists a PR to fix this to make Sylius compatible with Api-Platform 2.6.0.
If you are installing a brand new project, you could do the following to install Sylius from scratch:
composer create-project sylius/sylius-standard app_dir --no-install --no-scripts
cd app_dir
composer require api-platform/core:2.5.9 --no-update
composer install
If you have an existing project you need to fix before updating (even one you've installed following the instructions on the previous step), you should add this to the conflict
key of your composer.json
:
{
"conflict": {
"api-platform/core": ">=2.6.0"
}
}
Although you should monitor the development of Sylius to remove this line once is no longer needed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With