Search code examples
symfonysymfony-3.2

Composer doesn't upgrade Symfony from 3.2 to 3.3


I'm trying to upgrade my project to latest Symfony.
The 3.1 to 3.2 was flawless.
Now it's been a hour I'm trying to upgrade to 3.3 and I still do'nt have a clue why it doesn't happen.
The strangest part is I don't have any error message when running the composer update command, but the symfony version doesn't change. I checked on the debug bar and with the bin/console --version command, still 3.2.10.

bin/console --version
Symfony 3.2.10 (kernel: app, env: dev, debug: true)

My composer.json is, I suppose, correctly specified :

"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"
    },

Here is the console output :

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

I also tried to upgrade just symfony/symfony, no difference.

Does anyone have a clue ?
Thank you for your time and your help.


Solution

  • The problem is probably that one of your dependencies requires the lower version.

    You can use:

    composer why symfony/symfony 3.2.*
    

    to find out which dependency it is. Then you probably have to update that dependency first.

    To make sure everything works you should do this one by one using:

    composer require dependency/dep ?
    

    Where ? is the new version constraint. Then run your tests and then do the same with symfony:

    composer update symfony/symfony
    

    OP's edit :
    The problem was due to Eclipse not writing the composer.json file to disk anymore, don't ask me why.
    However, I mark this answer as the solution because the composer why command is what pushed me in the right direction.