I'm trying to update my site using composer.

I was previously using the Composer Manager module, but I've removed this as it's no longer supported, and composer support is built into core.

I'm now getting an error with the Ctools module (though I suspect the problem lies with composer rather than Ctools):

# composer require "drupal/ctools ~3.0"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package drupal/ctools ~8.3.0-alpha21 is satisfiable by drupal/ctools[8.3.0-alpha27] but these conflict with your requirements or minimum-stability.

Installation failed, reverting ./composer.json to its original content.

Copying my composer.json file below in case it offers any insights:

    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/address": "~1.0",
        "symfony/intl": ">=1.0"
    "replace": {
        "drupal/core": "~8.2",
        "drupal/entity": "8.*",
        "drupal/pathauto": "8.*",
        "drupal/simple-conreg": "8.*",
        "drupal/swiftmailer": "8.*"
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php."
        "installer-paths": {
            "modules/contrib/{$name}": [
            "modules/custom/{$name}": [
            "profiles/contrib/{$name}": [
            "themes/contrib/{$name}": [
            "themes/custom/{$name}": [
            "libraries/{$name}": [
            "drush/{$name}": [
        "merge-plugin": {
            "include": [
            "recurse": false,
            "replace": false,
            "merge-extra": false
    "autoload": {
        "psr-4": {
            "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer",
            "Drupal\\composer_manager\\Composer\\": "/var/www/drupal/sites8/all/modules/composer_manager/src/Composer"
    "scripts": {
        "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
        "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
        "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "drupal-rebuild": "Drupal\\composer_manager\\Composer\\Command::rebuild",
        "drupal-update": "Drupal\\composer_manager\\Composer\\Command::update"
    "repositories": {
        "0": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"

I'd really appreciate if anyone can offer any insights.


1 Answer 1


Try taking off the "8". "3.0-beta1" works for me.

They have started changing the format of the versions by removing the "8" for some reason. Not all the projects have changed yet.

  • 1
    I ended up recreating my Drupal instance so everything is coming from Composer, and everything seems to be behaving now. Thanks. Apr 9, 2017 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.