2

When I try do synchronize from my local site to the remote one, I get this bunch of errors which prevent configuration to be imported.

enter image description here

It seems to be related to some themes (alpha_responsive_theme, elegant_theme, mm, nucleus, tb_sirate, zeropoint) but why?
I'm pretty sure I don't have these theme in my configuration: I have these folders in core/themes bartik, classy, engines, seven, stable, stark and onepage_zymphonies_theme which is set to be the default one (seven being the Administration theme).

Any idea why it happens?
And how to get rid of it?
Thanks in advance.

3 Answers 3

3

At some point, the config you are using has had those themes enabled. Either from another site that you got the config set/ database from (e.g. the distro install?) or the themes were install/uninstalled/deleted on the dev machine (testing different themes?).

Since you seem to have the *.settings files for the themes, these were probably installed and then deleted without uninstalling them. When a theme is uninstalled, this configuration information is removed.

To get rid of them, add back in the themes, re-enable them and then uninstall them.

An alternative is to use "drush cli" / the log messages to identify the configuration object names. Then use "drush cdel" to remove them from your dev box. NOTE: backup your db prior to this!

Or you can find the yaml files in the exported configuration and remove them. But you will have to do this each time you export to the remote site.

Another possible way is to try the easy uninstall project. Haven't used it but is seems to provide a GUI way to clean up the configuration.

Soapbox Warning

IMHO this is one of the great problems with Drupal 8 using a massive blob of config files. Developers will test stuff and decide not use it.. and it's impossible to find the cruft in the massive blob...

Features is now available for D8. It's a pain to set up, but your large blog can become a more manageable set of smaller config sets.

4
  • I tried your first solution (add back in the themes, re-enable them and then uninstall them) with no success. As I am not familiar with drush, I don't know what to do...
    – gbmapo
    Commented Sep 21, 2017 at 14:20
  • You should look thru the various Drush tutorials if you plan to use Drupal. That said, rather than try to train you in Drush.. how about trying this: 1) Export your dev config as a tar ball. 2) Expand it. 3) Delete the problem files 4) Re-create the tar ball 5) Import it to your Dev site.
    – CG Monroe
    Commented Sep 22, 2017 at 14:39
  • I did that once (just to see if it works). But It's a bit annoying if I have to do it each time I want to sync...
    – gbmapo
    Commented Sep 23, 2017 at 11:15
  • Edited answer to include the Easy Uninstall project which may be a GUI way to clean up undesired configuration data.
    – CG Monroe
    Commented Sep 24, 2017 at 21:53
1

I recently had a similar problem:

In ThemeInstaller.php line 271:
The base theme stable cannot be uninstalled, because theme classy depends on it.

I was able to solve this with the following two drush commands: drush theme-uninstall classy drush theme-uninstall stable

0

After trying CG Monroe's fisrt solution (add back in the themes, re-enable them and then uninstall them) with no success, I took a look to his last suggestion (Easy Uninstall project) which I couldn't see how to solve my problem. Finally, i used Drupal Console 'config:delete'. A bit tedious but effective.

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.