Installing an external library that is required by a contributed module

Last updated on
28 September 2016

If you want to install a contributed module, which depends on an external library, and also depends on the Libraries API module, you are on the right page.

Note that installing the Libraries API module and installing an external library are two separate steps, that are independent of each other.

In detail, the steps you need to follow are the following:

Install Libraries API

Install Libraries API just like you would any other contributed module:

Please note that, as is described on those pages, the Libraries API module directory should be installed in one of the following directories:

  • modules (Drupal 8 only)
  • sites/all/modules
  • sites/ (if you have a multi-site installation)

Install the external library

  1. Download the library
    The module that requires the external library should provide a link to the homepage of that library or, even better, directly to that library's download page. Sometimes the module will specify a version for you to download, otherwise just download the latest version.
  2. Extract the files
    If the file you downloaded is an archive, i.e. its file extension is .zip or .tar.gz, you will need to extract it first. On Windows, use a program like 7-zip to extract it. On the Mac, you can use Stuffit Expander. For *nix systems, use the command line: tar -zxvf modulename-drupalversionnumber.tar.gz. After extracting the file, you should see multiple files or a single folder with the library's name.
  3. Upload the library
    First you need to check if there is a libraries directory in one of three suitable spots. These are:
    • libraries directory (mandatory for Drupal 8) or
    • sites/all/libraries directory or
    • profiles/[yourprofilename]/libraries or
    • sites/ if you have a multi-site installation

    If not, create one. Then inside that directory create a new directory with the Drupal machine name of the library. The machine name should be provided by the module that requires it, sometimes implicitly as in "Install the foo library!" (in that case the machine name would be foo). Upload the library files into the directory you have just created. If the library consists of a directory, which you have just extracted, upload the entire directory into the sites/all/libraries/machine_name directory.

IMPORTANT: Do not put the external library in the modules/libraries or sites/all/modules/libraries directories, which are the possible directories of the Libraries API module (depending on the major version of Drupal, see above).

Install the other module

Now you should be able to install the module that requires the external library just like you installed Libraries API above, or as you would install any other contributed module.