我无法将symfony3更新为symfony4,无论我尝试修复它们,它都会抛出各种不同的错误。
我跟随the official documentation关于重大更新,并确保我有0弃用。
我已更新我的composer.json
,如下所示:
{
"...": "...",
"require": {
"symfony/symfony": "^4.0",
},
"...": "..."
}
您的要求无法解析为可安装的一组 包。
问题1 - 结论:删除symfony / assetic-bundle v2.8.2 - 结论:不要安装symfony / assetic-bundle v2.8.2 - 结论:不要安装symfony / symfony v4.0.3 - 结论:不要安装symfony / symfony v4.0.2 - symfony / assetic-bundle的安装请求(锁定在v2.8.2,需要为^ 2.8) - >可满足的 的symfony / assetic束[v2.8.2]。
现在,我继续并卸载了symfony / assetic-bundle,但是它给出了同样的错误:
然后当没有什么东西要移除时(此时非常令人沮丧),它只是说:
问题1 - 结论:不要安装symfony / symfony v4.0.3 - 结论:不要安装symfony / symfony v4.0.2 - 结论:不要安装symfony / symfony v4.0.1 - sensio / generator-bundle v3.1.7需要symfony / yaml [...]
- sensio / generator-bundle的安装请求(锁定在v3.1.7,需要^ 3.0) - >可以通过sensio / generator-bundle [v3.1.7]来满足。
如何正确解决错误(如上所示)以及如何正确地将symfony更新为4.0?
composer.json片段:
"require": {
"php": ">=5.5.9",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",
"incenteev/composer-parameter-handler": "^2.0",
"sensio/distribution-bundle": "^5.0.19",
"sensio/framework-extra-bundle": "^3.0.2",
"symfony/monolog-bundle": "^3.1.0",
"symfony/polyfill-apcu": "^1.0",
"symfony/swiftmailer-bundle": "^2.3.10",
"symfony/symfony": "^4.0",
"twig/twig": "^1.0||^2.0"
},
"require-dev": {
"sensio/generator-bundle": "3.1.7",
"symfony/phpunit-bridge": "^3.0"
},
答案 0 :(得分:1)
在这个阶段,我创建了Symfony4骨架并复制粘贴了我之前项目中的文件。这是一项繁琐的工作,因为有些事情会发生变化。
关注Symfony documentation以消除代码中可能存在的任何弃用
创建Symfony4骨架
struct Bar<>
,src/Controllers
等。src/Services
,默认情况下应该是namespaces
,App\Controller
等。App\Services
文件中。随时可以使用更有价值的信息编辑此帖子。