如何解决我无法从奏鸣曲安装用户包
我正在尝试从 symfony 奏鸣曲安装用户包:
composer require sonata-project/user-bundle
遵循以下文档:
https://sonata-project.org/bundles/user/4-x/doc/reference/installation.html
但它总是给我带来错误
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 1
!!
!! In ArrayNode.PHP line 224:
!!
!! The child node "db_driver" at path "fos_user" must be configured.
!!
!!
!!
这是我的 composer.json 文件
{
"type": "project","license": "proprietary","require": {
"PHP": ">=7.1.3","ext-ctype": "*","ext-iconv": "*","composer/package-versions-deprecated": "1.11.99.1","doctrine/annotations": "^1.0","doctrine/doctrine-bundle": "^2.2","doctrine/doctrine-migrations-bundle": "^3.0","doctrine/orm": "^2.8","PHPdocumentor/reflection-docblock": "^5.2","sensio/framework-extra-bundle": "^5.1","sonata-project/admin-bundle": "^3.90","sonata-project/doctrine-orm-admin-bundle": "^3.30","symfony/asset": "4.4.*","symfony/console": "4.4.*","symfony/dotenv": "4.4.*","symfony/expression-language": "4.4.*","symfony/flex": "^1.3.1","symfony/form": "4.4.*","symfony/framework-bundle": "4.4.*","symfony/http-client": "4.4.*","symfony/intl": "4.4.*","symfony/mailer": "4.4.*","symfony/monolog-bundle": "^3.1","symfony/process": "4.4.*","symfony/property-access": "4.4.*","symfony/property-info": "4.4.*","symfony/proxy-manager-bridge": "4.4.*","symfony/security-bundle": "4.4.*","symfony/serializer": "4.4.*","symfony/translation": "4.4.*","symfony/twig-bundle": "^4.4","symfony/validator": "4.4.*","symfony/web-link": "4.4.*","symfony/yaml": "4.4.*","twig/extra-bundle": "^2.9","twig/twig": "^2.9"
},"require-dev": {
"symfony/browser-kit": "^4.4","symfony/css-selector": "^4.4","symfony/debug-bundle": "^4.4","symfony/maker-bundle": "^1.0","symfony/PHPunit-bridge": "^5.2","symfony/stopwatch": "^4.4","symfony/var-dumper": "^4.4","symfony/web-profiler-bundle": "^4.4"
},"config": {
"preferred-install": {
"*": "dist"
},"sort-packages": true
},"autoload": {
"psr-4": {
"App\\": "src/"
}
},"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},"replace": {
"paragonie/random_compat": "2.*","symfony/polyfill-ctype": "*","symfony/polyfill-iconv": "*","symfony/polyfill-PHP71": "*","symfony/polyfill-PHP70": "*","symfony/polyfill-PHP56": "*"
},"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd","assets:install %PUBLIC_DIR%": "symfony-cmd"
},"post-install-cmd": [
"@auto-scripts"
],"post-update-cmd": [
"@auto-scripts"
]
},"conflict": {
"symfony/symfony": "*"
},"extra": {
"symfony": {
"allow-contrib": false,"require": "4.4.*"
}
}
}
在此错误之前,还有另一个错误告诉我将树枝版本更改为旧版本,以便 首先我改变了树枝/额外捆绑": "^2.12|^3.0" 树枝/树枝": "^2.12|^3.0"
到树枝/额外捆绑": "^2.9","twig/twig": "^2.9"
然后这发生了,我该怎么办?
解决方法
只需将此配置添加到配置文件中,转到此路径 app/config/config.yml
,然后将此行添加到 config.yml
文件的末尾
# app/config/config.yml
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: UserBundle\Entity\User
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%"
,
尝试在包中创建 fos_user.yaml 并添加此代码
fos_user.yaml
fos_user:
db_driver: orm
firewall_name: main
user_class: Entity\User
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%"
并在您的 framework.yaml 中添加此代码 framework.yaml
framework:
templating:
engines: ['twig','php']
,
所以这就是我为使其最终起作用所做的工作
首先我像这样在 fos_user.yaml
中创建了一个 config/packages/fos_user.yaml
文件
fos_user:
db_driver: orm
firewall_name: main
user_class: App\Entity\SonataUserUser
group:
group_class: App\Entity\SonataUserGroup
group_manager: sonata.user.orm.group_manager
service:
user_manager: sonata.user.orm.user_manager
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%"
然后我像这样在 %mailer_user%
中创建了参数 config/service.yaml
parameters:
mailer_user: -
最后我将此添加到 framework.yaml
framework:
templating:
engines: ['twig','php']
并且它安装成功,但我确实必须手动添加奏鸣曲文档中存在的剩余文件和配置以及其他代码。
感谢您的帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。