When trying to update from drupal 8.6.2 to 8.6.4, I get no result. I tried composer update drupal/core webflo/drupal-core-require-dev --with-dependencies --dry-runto no avail. composer prohibits drupal/core:8.6.4gives me
webflo/drupal-core-require-dev 8.6.2 requires drupal/core (8.6.2)and composer prohibits webflo/drupal-core-require-dev:8.6.4gives me
drupal-composer/drupal-project - requires webflo/drupal-core-require-dev (8.6.2)
webflo/drupal-core-require-dev 8.6.4 requires drupal/core (8.6.4)
drupal-composer/drupal-project - does not require drupal/core (but 8.6.2 is installed) In the .json file, drupal/core andwebflo/drupal-core-require-dev are set to ^8.6.
I tried out many ideas I found in this forum or on github, like adding symfony/* to the update line, which gives me an error ("Package "symfony/*" listed for update is not installed. Ignoring.") like mentioned in this post: https://github.com/drupal-composer/drupal-project/issues/416
What could be blocking the update? How to find out? What other information is needed to solve this?
Comments
this command helped me.
composer update drupal/core webflo/drupal-core-require-dev symfony/class-loader symfony/console symfony/dependency-injection symfony/event-dispatcher symfony/http-foundation symfony/http-kernel symfony/routing symfony/serializer symfony/translation symfony/validator symfony/process symfony/polyfill-iconv symfony/yaml symfony-cmf/routing symfony/psr-http-message-bridge --with-dependencies
If you are using composer to install drupal then it is easier to update.
It may help.
for me not
Still no output, no result, no message even.
I didn't install drupal myself, I recently took over administration. But I assume, it was installed using composer. If it helps here is the output of
composer -m outdatedand the composer.json:
Perhaps anyone can spot the fault ... I would very much appreciate it!
The version constrain of webflo/drupal-core-require-dev
Should be the same version constraint as drupal/core, ^8.6.2
no change
Thanks for spotting that, but correcting it didn't help. Any other ideas?
It did in my case
No further ideas needed, that is your issue. What did you do?
I did this:
composer require drupal/core:^8.6composer require --dev webflo/drupal-core-require-dev:^8.6and
composer remove webflo/drupal-core-require-devto not only give them the same version constraint but also to move the webflo/... to the require section.
I would be very thankful, if you could help me further. I am completely at a loss here.
Doubt that these require statements gave you ...
what you expected. You would probably need to update both because the version specification doesn't force a change.
Below the transcript of upgrading to 8.6.5
You might want to remove the webflo/drupal-core-require-dev completely. Assuming you manage a site and not doing code development there is no need for require-dev. Saves you from specifying --no-dev, --update-no-dev.
Suggest to use ~8.6.5 to reduce memory usage and stay within 8.6 with update. Means you need `composer require drupal/core:~8.7.1` once ready to switch to 8.7. Assuming you wait for 8.7.1, use whatever is current at the moment you switch.
removed webflo/drupal-core-require-dev - still no update
here is what I did:
xxx@xxx:$ composer require drupal/core:~8.6.5./composer.json has been updated
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
xxx@xxx:$ composer remove webflo/drupal-core-require-dev> DrupalProject\composer\ScriptHandler::checkComposerVersionDependency "drupal/core" is also a root requirement, but is not explicitly whitelisted. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
xxx@xxx:$ composer update drupal/core> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Why does it just stop at that point? So I asked:
xxx@xxx:$ composer prohibits drupal/core:8.6.5webflo/drupal-core-require-dev 8.6.2 requires drupal/core (8.6.2)
Why is it still listed there? What can I do?
Remove it again
Use `composer show` to verify whether webflo/drupal-core-require-dev exists. Remove it and verify it is gone. Verify drupal/core with `composer show -s`. Use require ~8.6.5 or update depending on your verification.
can't remove it.
Trying again gives me:
xxx@xxx:$ composer remove webflo/drupal-core-require-devwebflo/drupal-core-require-dev is not required in your composer.json and has not been removed
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Dependency "drupal/core" is also a root requirement, but is not explicitly whitelisted. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
It still prevents update of drupal/core. It is not listed in
composer show -sbutxxx@xxx:$ composer show webflo/*webflo/drupal-core-require-dev 8.6.2 require-dev dependencies from drupal/core
webflo/drupal-finder 1.1.0 Helper class to locate a Drupal installation from a given path.
Are there other ways to remove it? What hinders removing it?
Very strange, looks like composer was aborted
You might try `composer update nothing` or `composer update --lock` or remove composer.lock and vendor and use `composer install`. Verify with `grep drupal-core-require-dev composer.json` and composer.lock.
You also might use `composer selfupdate` and `composer clear`
If nothing helps, reboot the computer!
solved
I tried now updating not through ssh like before but from the cpanel shell of the host - there I got an error:
Fatal error: Out of memory (allocated 250609664) (tried to allocate 2142227 bytes) in pha:///opt/cpanel/composer/bin/compser/src/Composer/Util/RemoteFilesystem.php on line 451So I asked the host to allocate more memory - and after increasing both RAM and php memory limit the update per ssh works as expected :)
Thanks a lot for your support!
Well done
My last comment was sort of saying it must be something infrastructure related (reboot).
In addition you might try `composer outdated -D -m|awk '($3=="!") {print $1,$4}'|xargs -p -n 2 composer prohibits` to find out what else can be updated. You may repeat the outdated command without the -D -m, but I expect more to be blocked by version constraints
I ran
I ran
composer update drupal/core webflo/drupal-core-require-dev --with-dependencieswhich then allowed me to do the core update via composer also:
composer update drupal/core --with-dependencies