Fixing "UpdaterException: Unable to determine the type of the source directory"

Published on Sunday 28, June 2015

I don't use the built in update functionality provided by the Update module for updating code. I like to use it for reminders and push back statistics of modules used for Drupal.org. However, someone people do use it. Sometimes this piece of functionality can fail and throw an interesting message which doesn't seem to have many answers despite the best Google-fu.

UpdaterException: Unable to determine the type of the source directory. in Updater::factory() (line 99 of ../www/includes/updater.inc).

An exception because a source directory can't be determined. Turns out that the logic before the exception throw is checking if the temporary directory containing update downloads is an actual directory.

It is looking for the following:

$directory = 'temporary://update-extraction-' . _update_manager_unique_identifier();

If you encounter this error, check your file system settings (/admin/config/media/file-system) and make sure the temporary directory is configured properly. If you're not sure what it should be, remove the entry and resave the form, populating your web server's default. Then make sure Drupal (or, rather, your webserver) has permissions to write to that temporary directory.

#