查看Symfony demo存储库,我发现很难准确地辨别出您应该针对哪个包来更新symfony
包。
看看这里:https://github.com/symfony/demo/blob/master/composer.json
在我之前的项目中,有一个截然不同的symfony/symfony
包,所以在哪里做是非常清楚的。
现在,我的应用程序是4.2.5版本。我尝试在底部的extras
:https://github.com/symfony/demo/blob/master/composer.json下更新symfony版本,然后运行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
很明显,程序发生了变化,我相信在某个地方有关于这方面的文档,但我还没有找到它。
发布于 2019-11-25 19:51:56
如果不看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
键:
"extra": {
"symfony": {
"allow-contrib": true,
"require": "4.4.*"
}
最重要的可能是"symfony/framework-bundle"
,但您可能会有更多。
在这种情况下,几乎所有的依赖项都是显式声明的,即使它们中的一些已经被安装为另一个包的依赖项,但我们希望真正声明所有的依赖项。
https://stackoverflow.com/questions/59039031
复制