查看 Symfony 演示存储库,我发现很难准确辨别要更新 symfony
包的目标包。
看这里:https://github.com/symfony/demo/blob/master/composer.json
在我之前的项目中,有一个独特的 symfony/symfony
包,因此非常清楚在哪里执行它。
现在,我的应用程序版本为 4.2.5。我尝试在 extras
下更新底部的 symfony 版本:https://github.com/symfony/demo/blob/master/composer.json然后运行composer update symfony/symfony
。
结果:
$ composer update symfony/symfony
Package "symfony/symfony" listed for update is not installed. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Nothing to install or update
很明显,程序发生了变化,我确信某个地方有相关的文档,但我一直找不到它。
最佳答案
如果没有看到您的composer.json 文件,就很难给您准确的说明。 Symfony 既是一个框架,也是一个组件集合,因此我们需要了解您安装的方式和具体内容。
例如,在我正在运行的特定项目中,这些是我更新到 4.4 的所有依赖项:
"symfony/cache": "^4.4.0",
"symfony/config": "^4.4.0",
"symfony/console": "^4.4.0",
"symfony/dependency-injection": "^4.4",
"symfony/dotenv": "^4.4.0",
"symfony/filesystem": "^4.4.0",
"symfony/finder": "^4.4.0",
"symfony/flex": "^1.2",
"symfony/framework-bundle": "^4.4.0",
"symfony/http-client": "^4.4.0",
"symfony/http-client-contracts": "^2.0.0",
"symfony/http-foundation": "^4.4.0",
"symfony/http-kernel": "^4.4.0",
"symfony/messenger": "^4.4.0",
"symfony/monolog-bundle": "^3.4",
"symfony/polyfill-mbstring": "^1.12.0",
"symfony/profiler-pack": "^1.0",
"symfony/routing": "4.4.0",
最重要的是,额外
键:
"extra": {
"symfony": {
"allow-contrib": true,
"require": "4.4.*"
}
最重要的可能是“symfony/framework-bundle”
,但您可能还会有更多东西。
在这种情况下,几乎所有依赖项都是显式声明的,即使其中一些依赖项无论如何都会作为另一个包的依赖项安装,但我们希望实际声明所有真正的依赖项。
关于php - 更新composer.json中的symfony/symfony版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59039031/