Composer 不会将 Symfony 从 3.2 升级到 3.3
Composer doesn't upgrade Symfony from 3.2 to 3.3
我正在尝试将我的项目升级到最新的 Symfony。
3.1到3.2完美无缺
现在我尝试升级到 3.3 已经一个小时了,但我仍然不知道为什么它没有发生。
最奇怪的是当 运行 命令 composer update
时我没有任何错误信息,但是 symfony 版本没有改变。我检查了调试栏并使用 bin/console --version
命令,仍然是 3.2.10。
bin/console --version
Symfony 3.2.10 (kernel: app, env: dev, debug: true)
我想我的 composer.json 是正确指定的:
"require" : {
"php" : ">=7.0",
"symfony/symfony" : "3.3.*",
"doctrine/orm" : "^2.5",
"doctrine/doctrine-bundle" : "^1.6",
"doctrine/doctrine-cache-bundle" : "^1.2",
"symfony/swiftmailer-bundle" : "^2.3",
"symfony/monolog-bundle" : "^2.8",
"symfony/polyfill-apcu" : "^1.0",
"sensio/distribution-bundle" : "^5.0",
"sensio/framework-extra-bundle" : "^3.0.2",
"incenteev/composer-parameter-handler" : "^2.0",
"symfony/assetic-bundle" : "^2",
"friendsofsymfony/user-bundle" : "~2.0",
"knplabs/knp-menu-bundle" : "^2.0",
"egeloen/ckeditor-bundle" : "^4.0",
"twig/twig" : "@stable",
"twig/extensions" : "^1.4",
"stof/doctrine-extensions-bundle" : "^1.2",
"friendsofsymfony/jsrouting-bundle" : "^1.6",
"yavin/symfony-form-tree" : "~1.0",
"cnerta/breadcrumb-bundle" : "2.1.*",
"symfony/security-acl" : "^v3",
"petrepatrasc/google-map-bundle" : "^2.3",
"debril/rss-atom-bundle" : "^3.0",
"beberlei/DoctrineExtensions" : "^1.0",
"symfony/http-kernel" : "~3.0",
"tilleuls/ovh-bundle" : "1.0.*",
"st/flagiconcss-bundle" : "~1.0",
"th3mouk/yahoo-weather-api" : "^1.0",
"jms/serializer-bundle" : "^1.2"
},
控制台输出如下:
composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
// Clearing the cache for the dev environment with debug
// And the rest is usual assetic and cache clear stuff
我也试过只升级 symfony/symfony
,没区别。
有人知道吗?
感谢您的宝贵时间和帮助。
问题可能是您的依赖项之一需要较低版本。
您可以使用:
composer why symfony/symfony 3.2.*
找出它是哪个依赖项。那么您可能必须先更新该依赖项。
为确保一切正常,您应该使用以下方法一项一项地执行此操作:
composer require dependency/dep ?
其中 ?
是新版本约束。然后 运行 你的测试,然后用 symfony 做同样的事情:
composer update symfony/symfony
OP 编辑 :
问题是由于 Eclipse 不再将 composer.json 文件写入磁盘,不要问我为什么。
但是,我将此答案标记为解决方案,因为 composer why
命令将我推向了正确的方向。
我正在尝试将我的项目升级到最新的 Symfony。
3.1到3.2完美无缺
现在我尝试升级到 3.3 已经一个小时了,但我仍然不知道为什么它没有发生。
最奇怪的是当 运行 命令 composer update
时我没有任何错误信息,但是 symfony 版本没有改变。我检查了调试栏并使用 bin/console --version
命令,仍然是 3.2.10。
bin/console --version
Symfony 3.2.10 (kernel: app, env: dev, debug: true)
我想我的 composer.json 是正确指定的:
"require" : {
"php" : ">=7.0",
"symfony/symfony" : "3.3.*",
"doctrine/orm" : "^2.5",
"doctrine/doctrine-bundle" : "^1.6",
"doctrine/doctrine-cache-bundle" : "^1.2",
"symfony/swiftmailer-bundle" : "^2.3",
"symfony/monolog-bundle" : "^2.8",
"symfony/polyfill-apcu" : "^1.0",
"sensio/distribution-bundle" : "^5.0",
"sensio/framework-extra-bundle" : "^3.0.2",
"incenteev/composer-parameter-handler" : "^2.0",
"symfony/assetic-bundle" : "^2",
"friendsofsymfony/user-bundle" : "~2.0",
"knplabs/knp-menu-bundle" : "^2.0",
"egeloen/ckeditor-bundle" : "^4.0",
"twig/twig" : "@stable",
"twig/extensions" : "^1.4",
"stof/doctrine-extensions-bundle" : "^1.2",
"friendsofsymfony/jsrouting-bundle" : "^1.6",
"yavin/symfony-form-tree" : "~1.0",
"cnerta/breadcrumb-bundle" : "2.1.*",
"symfony/security-acl" : "^v3",
"petrepatrasc/google-map-bundle" : "^2.3",
"debril/rss-atom-bundle" : "^3.0",
"beberlei/DoctrineExtensions" : "^1.0",
"symfony/http-kernel" : "~3.0",
"tilleuls/ovh-bundle" : "1.0.*",
"st/flagiconcss-bundle" : "~1.0",
"th3mouk/yahoo-weather-api" : "^1.0",
"jms/serializer-bundle" : "^1.2"
},
控制台输出如下:
composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
// Clearing the cache for the dev environment with debug
// And the rest is usual assetic and cache clear stuff
我也试过只升级 symfony/symfony
,没区别。
有人知道吗?
感谢您的宝贵时间和帮助。
问题可能是您的依赖项之一需要较低版本。
您可以使用:
composer why symfony/symfony 3.2.*
找出它是哪个依赖项。那么您可能必须先更新该依赖项。
为确保一切正常,您应该使用以下方法一项一项地执行此操作:
composer require dependency/dep ?
其中 ?
是新版本约束。然后 运行 你的测试,然后用 symfony 做同样的事情:
composer update symfony/symfony
OP 编辑 :
问题是由于 Eclipse 不再将 composer.json 文件写入磁盘,不要问我为什么。
但是,我将此答案标记为解决方案,因为 composer why
命令将我推向了正确的方向。