symfony - 将 SF 从 2.8 升级到 3.xx
问题描述
我在从 Symfony 2.8 迁移到 Symfony 3 及更高版本时遇到问题。几天来,我一直在尝试更新我的项目,但我阻止了同样的错误。我尝试了所有可以在谷歌上找到的解决方案,但没有改进。这是我的文件 composer.json
{
"name": "My/project",
"license": "proprietary",
"type": "project",
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "3.0.*",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"sonata-project/admin-bundle": "3.13",
"sonata-project/doctrine-orm-admin-bundle": "^3.1",
"friendsofsymfony/user-bundle": "^1.3",
"sonata-project/core-bundle": "^3.1",
"sonata-project/easy-extends-bundle": "^2.1",
"sonata-project/user-bundle": "^3.2",
"sonata-project/formatter-bundle": "^3.1",
"knplabs/knp-paginator-bundle": "^2.5",
"sonata-project/intl-bundle": "^2.3",
"google/recaptcha": "^1.1",
"twig/twig": "1.28.2",
"friendsofsymfony/jsrouting-bundle": "^1.6",
"helios-ag/fm-elfinder-bundle": "^6.2",
"vich/uploader-bundle": "1.5.3",
"beberlei/doctrineextensions": "^1.0",
"simplethings/entity-audit-bundle": "^1.0",
"sentry/sentry-symfony": "^1.0",
"rollbar/rollbar": "~1.1",
"mikey179/vfsstream": "^1.6"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"doctrine/doctrine-fixtures-bundle": "^2.3",
"hautelook/alice-bundle": "^2.0@beta",
"nelmio/alice": "^3.0@beta",
"theofidry/alice-data-fixtures": "^1.0@beta",
"symfony/phpunit-bridge": "^4.2",
"phpunit/phpunit": "^6.1",
"behat/behat": "^3.4",
"behat/mink": "^1.7",
"behat/mink-selenium2-driver": "^1.3",
"behat/symfony2-extension": "^2.1",
"behat/mink-extension": "^2.2",
"behat/mink-browserkit-driver": "^1.3",
"behat/mink-goutte-driver": "^1.2",
"emuse/behat-html-formatter": "^0.1.0",
"phing/phing": "2.*"
},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"component-dir": "web/assets"
},
"extra": {
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
}
}
}
我使用此命令进行更新:$ composer update symfony/symfony --with-dependencies --no-scripts
更新未完成,因为显然我与我的依赖项的不同版本有冲突..但是我无法在更新的版本中更新我的依赖项
需要你的帮助请..
解决方案
你有冲突,因为你不能同时拥有symfony/symfony 3.0.*
和symfony/cache 3.4
。
事实上,您锁定在某个版本的其他捆绑软件与 symfony 3.0 不兼容,因此您也需要升级它们。
最可行的方法是使用这些依赖项:
"symfony/symfony": "3.2.*",
"friendsofsymfony/user-bundle": "^2.0",
"sonata-project/user-bundle": "^4.0",
然后只需运行composer install
而不是composer update symfony/symfony
. Composer 将完成它的工作,然后您必须调整您的代码以减轻所有 BC 中断等...
如果您无法更改其他依赖项,那么您将被 Sf 2.8 困住。
推荐阅读
- postgresql - Vacuum_cost_page_miss 设置为零
- c++ - 使用 Arduino Uno 作为 ISP 无法将代码从 Arduino IDE 上传到自定义 ESP32 WROOM 32
- amazon-sns - Aws SNS 仅在第一次通知电子邮件的打开跟踪 - 未在后续电子邮件打开时触发
- r - 如何为使用 renderReactable 创建的表赋予标题
- kubernetes - 我可以对节点设置 CPU 限制吗?
- php - 从 wordpress 编辑主题
- linux - 用于移动具有特定名称的前 N 个文件的 Bash 脚本
- java - 故事进度条仅向我显示来自 firebase 数据库的数组列表的最后一张图片
- javascript - 使用 Enzymes 进行 React 组件渲染功能测试
- google-apps-script - 错误:在 ID 为 45 的对象上调用方法 getPageElementRange 时无法找到目标对象