Fix for Missing drupal/gplib package in Composer

Submitted by allan on Tue, 04/07/2015 - 20:55

If yall are like me, you have all started using composer for all of your Drupal dependency management. This is all through the work of webflow and his maintenance on packagist.drupal-composer.org.

I did run into a problem recently:

{
  require-dev: {
    "drupal/api": "7.*",
  }
}

This yields the following error

 Your requirements could not be resolved to an installable set of packages.
 
   Problem 1
     - drupal/api 7.1.9 requires drupal/gplib >=7.2.1, <7.3.0 -> no matching package found.
     - drupal/api 7.1.8 requires drupal/gplib >=7.2.1, <7.3.0 -> no matching package found.
     - drupal/api 7.1.7 requires drupal/gplib >=7.2.1, <7.3.0 -> no matching package found.
     - drupal/api 7.1.6 requires drupal/gplib >=7.2.1, <7.3.0 -> no matching package found.
     - drupal/api 7.1.5 requires drupal/gplib >=7.2.1, <7.3.0 -> no matching package found.
     - drupal/api 7.1.4 requires drupal/gplib >=7.2.1, <7.3.0 -> no matching package found.
     - drupal/api 7.1.3 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.2 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.1 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta8 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta7 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta6 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta5 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta4 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta3 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta2 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0-beta1 requires drupal/gplib 7.* -> no matching package found.
     - drupal/api 7.1.0 requires drupal/gplib 7.* -> no matching package found.
     - Installation request for drupal/api 7.* -> satisfiable by drupal/api[7.1.0, 7.1.0-beta1, 7.1.0-beta2, 7.1.0-beta3, 7.1.0-beta4, 7.1.0-beta5, 7.1.0-beta6, 7.1.0-beta7, 7.1.0-beta8, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.1.9].
 
 Potential causes:
  - A typo in the package name
  - The package is not available in a stable-enough version according to your minimum-stability setting
    see  for more details.

Of course this problem is a classic one described in #1241932 gplib is the module name; grammar_parser_lib is the project name

Luckly, Webflo built in some logic (at least I assume so, I haven't looked into the code real hard) where the package by the project name replaces the packages that use the module name. What this means is...

Simply do the following:

{
  require-dev: {
    "drupal/api": "7.*",
    "drupal/grammar_parser_lib": "~7.2.0",
  }
}

Now all is right with the world.