Sylius 安装崩溃,因为 "No identifier defined"
Sylius install crashes because "No identifier defined"
我正在尝试在 ubuntu 上安装 Sylius 1.8,当我按照安装指南进行操作时 运行 composer install
我收到以下错误:
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
我也用过 Sylius docker 但结果是一样的,看来 Api-Platform 有问题。
Sylius 使用 Api-平台,最近发布了 Api-平台的 2.6 版。
自此版本以来,所有 API 资源(包括自定义 DTO)都需要有一个“标识符”,as other users are finding out。
已经有 exists a PR to fix this to make Sylius compatible with Api-Platform 2.6.0.
如果您正在安装一个全新的项目,您可以执行以下操作从头开始安装 Sylius:
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
如果您有一个现有的项目需要在更新前修复(即使是您按照上一步的说明安装的项目),您应该将其添加到 [=13] 的 conflict
键中=]:
{
"conflict": {
"api-platform/core": ">=2.6.0"
}
}
尽管您应该监视 Sylius 的开发以删除不再需要的此行。
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, you could add this to the conflict key of your
composer.json:
{
"conflict": {
"api-platform": ">=2.6.0"
} } Although you should monitor the development of Sylius to remove this line once is no longer needed.
我为我工作,但是更新的冲突包有错误
"conflict": {
"symfony/form": "4.4.11|4.4.12",
"api-platform/core": ">=2.6.0"
},
我正在尝试在 ubuntu 上安装 Sylius 1.8,当我按照安装指南进行操作时 运行 composer install
我收到以下错误:
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
我也用过 Sylius docker 但结果是一样的,看来 Api-Platform 有问题。
Sylius 使用 Api-平台,最近发布了 Api-平台的 2.6 版。
自此版本以来,所有 API 资源(包括自定义 DTO)都需要有一个“标识符”,as other users are finding out。
已经有 exists a PR to fix this to make Sylius compatible with Api-Platform 2.6.0.
如果您正在安装一个全新的项目,您可以执行以下操作从头开始安装 Sylius:
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
如果您有一个现有的项目需要在更新前修复(即使是您按照上一步的说明安装的项目),您应该将其添加到 [=13] 的 conflict
键中=]:
{
"conflict": {
"api-platform/core": ">=2.6.0"
}
}
尽管您应该监视 Sylius 的开发以删除不再需要的此行。
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, you could add this to the conflict key of your composer.json:
{ "conflict": { "api-platform": ">=2.6.0" } } Although you should monitor the development of Sylius to remove this line once is no longer needed.
我为我工作,但是更新的冲突包有错误
"conflict": {
"symfony/form": "4.4.11|4.4.12",
"api-platform/core": ">=2.6.0"
},