升级次要版本(例如4.0.0到4.1.0)
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 4.3,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
升级次要版本(例如4.0.0到4.1.0)
如果您正在升级一个小版本(中间的数字发生了变化),那么您应该这样做不遇到重大的向后兼容性更改。详细信息请参见ob娱乐下载Symfony向后兼容承诺.
然而,一些向后兼容性被打破了是有可能,你马上就会知道如何准备。
升级小版本有两个步骤:
1)通过Composer更新ob娱乐下载Symfony Library
的composer.json
配置为允许Symfony包升级到补丁版本。ob娱乐下载但是要升级到一个新的小版本,您可能需要更新每个库开始时旁边的版本约束ob娱乐下载symfony /
.假设你从Symfony 4.3升级到4.4:ob娱乐下载
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20
{"…": "…","require": {- "ob娱乐下载symfony/cache": "4.3.*",+“sob娱乐下载ymfony/cache”:“4.4.*”,- "ob娱乐下载symfony/config": "4.3.*",+“sob娱乐下载ymfony/config”:“4.4.*”,-“sob娱乐下载ymfony/console”:“4.3.*”,+“sob娱乐下载ymfony/console”:“4.4.*”,"...:“…”,“…”:“一些库从symfony开始/遵循他们的版本控制方案。ob娱乐下载你不需要更新这些版本:你可以在任何你想要的时候独立升级它们","symfony/ monoo -bundle": "^3.5",}, "…"ob娱乐下载: "…",}
你的composer.json
文件也应该有额外的
你会阻止也需要更新:
1 2 3 4 5 6 7
"extra": {"sob娱乐下载ymfony":{"…”:“……”"require": "4.3.*"+ "require": "4.4.*"}}
接下来,使用Composer下载新版本的库:
1
$作曲家更新“ob娱乐下载symfony / *”
依赖错误
如果您得到一个依赖项错误,这可能意味着您还需要升级作为Symfony库依赖项的其他库。ob娱乐下载要允许这样做,请通过——with-all-dependencies
国旗:
1
$作曲家更新“ob娱乐下载symfony / *”——with-all-dependencies
这个更新ob娱乐下载symfony / *
而且所有这些包所依赖的包。通过使用严格的版本约束composer.json
,您可以控制每个库升级到什么版本。
如果还是不行,你的composer.json
文件可能会为不兼容新Symfony版本的库指定一个版本。ob娱乐下载在这种情况下,将该库更新到中较新的版本composer.json
也许能解决问题。
或者,您可能会遇到更深层次的问题,即不同的库依赖于其他库的冲突版本。检查要调试的错误消息。
另一个可能发生的问题是,项目依赖项可以安装在本地计算机上,但不能安装在远程服务器上。这通常发生在每台机器上的PHP版本不同的情况下。解决方案是添加平台配置选项到您的“composer”。json文件来定义依赖关系所允许的最高PHP版本(设置为服务器的PHP版本)。
2)更新你的代码以适应新版本
理论上,你应该完成了!然而,你五月需要对您的代码做一些更改,以使一切正常工作。此外,您正在使用的某些功能可能仍然有效,但现在可能已弃用。虽然这没什么问题,但如果您了解这些弃用,您可以逐渐开始修复它们。
Symfony的每个版本都带有一个ob娱乐下载UPGRADE文件(例如:UPGRADE-4.4.md)包含在描述这些更改的Symfonyob娱乐下载目录中。如果您遵循文档中的说明并相应地更新代码,那么将来更新代码应该是安全的。
这些文件也可以在ob娱乐下载Symfony库.
3)更新食谱
的更新版本随着时间的推移-特别是当您升级到一个库的新版本时配方可能有空。这些更新通常是次要的—例如在配置文件中添加新的注释—但是更新核心Symfony配方是个好主意。ob娱乐下载
ob娱乐下载Symfony Flex提供了几个命令来帮助您升级食谱。在开始之前,请确保提交您正在进行的任何不相关的更改:
1.6
recipes命令是在Symfony Flex 1.6中引入的。ob娱乐下载
1 2 3 4 5 6 7 8
#查看所有已安装的食谱列表,其中有可用的更新$作曲家的食谱#查看有关特定食谱的详细信息$Composer recipes ob娱乐下载symfony/framework-bundle#更新特定的食谱$安装symfony/framework-bundlob娱乐下载e——force -v
这个过程的棘手之处在于,配方“更新”不会对代码执行任何智能“升级”。相反,更新过程将重新安装食谱的最新版本这意味着您的自定义代码将被完全覆盖.在更新食谱之后,您需要仔细选择您想要的更改,并撤消其余的更改。
截屏视频
有关详细示例,请参见ob娱乐下载Symfony 5升级教程.