# Plugin kann nicht aktiviert werden - @import Variablen sind undefined (500 Recursion detected)

**URL:** <https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075>\
**Category:** Programmierung\
**Created:** [6. April 2020 um 10:28 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075 "2020-04-06T10:28:11Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [6. April 2020 um 10:28 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/1 "2020-04-06T10:28:11Z")

</div>

Hallo Community,

ich habe akuell den Fall, dass ein Plugin nicht aktiviert werden kann. Die Installation erfolgt. Möchte man es dann aktivieren, erhält man einen 500 Fehler.  
Im Netzwerk-Tab habe ich herauslesen können, dass es zu einem 500 Fehler bei JSON decode kommt mit der Info: **Recursion detected**  
Aufgefallen ab Version 6.1.4

Der activateContext in der Bootstrap des betreffenden Plugins ist leer:  
&nbsp;

```
public function activate(ActivateContext $context): void
{
}

```

&nbsp;

Das steht im Log:

```
[2020-04-05 16:28:40] request.INFO: Matched route "api.action.plugin.activate". {"route":"api.action.plugin.activate","route_parameters":{"_route":"api.action.plugin.activate","_controller":"Shopware\\Core\\Framework\\Plugin\\Api\\PluginController::activatePlugin","version":"1"},"request_uri":"https://domain.de/api/v1/_action/plugin/activate?pluginName=pluginName","method":"POST"} []

[2020-04-05 16:28:42] php.CRITICAL: Uncaught Exception: Recursion detected {"exception":"[object] (InvalidArgumentException(code: 0): Recursion detected at ****** /pfadName/vendor/symfony/http-foundation/JsonResponse.php:167)"} []

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [6. April 2020 um 13:56 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/2 "2020-04-06T13:56:43Z")

</div>

Habe eine mögliche Ursache gefunden:

&nbsp;

Unter der aktuellsten Developer Version wird beim Aktivieren ein SCSS Fehler geworfen:

```
Plugin could not be activated due to error message "Unable to compile the theme "Storefront". Undefined variable $prefix-variable

```

&nbsp;

Dadurch kann das Plugin nicht aktiviert werden. Eingebunden werden die Styles nach genau diesem Muster:  
[https://docs.shopware.com/en/shopware-platform-dev-en/how-to/storefront-assets#adding-styles](https://docs.shopware.com/en/shopware-platform-dev-en/how-to/storefront-assets#adding-styles)

&nbsp;

**Beispiel:**

/src/Resources/app/storefront/src/scss/abstract/variables.scss

```
$prefix-variable: "green" !default;

```

/src/Resources/app/storefront/src/scss/base.scss

```
@import 'abstract/variables';
@import 'component/beispiel';

```

/src/Resources/app/storefront/src/scss/component/beispiel.scss

```
.irgendwas {
    color: $prefix-variable;
}

```

&nbsp;

**EDIT:**

**Ein nochmaliges Importieren der variables.scss in der component/beispiel.scss löst das Problem des Aktivierens und der Kompiler läuft durch. Hat Shopware hier nun ein Problem beim Kompiler? Einen Fehler in der Struktur sehe ich hier nicht - und bisher hat es auch funktioniert. Und ich kann es auch nicht immer reproduzieren.**

Die Fehlermeldung Recursion detected aus der Produktivumgebung geht allerdings völlig an dem eigentlichen Fehler vorbei…  
&nbsp;

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [6. April 2020 um 17:13 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/3 "2020-04-06T17:13:34Z")

</div>

Ich glaube es gibt aktuell einen Issue beim Compiler wenn zwei Plugins die gleichen Namen für ihre SCSS Variablen benutzen. Vielleicht ist das der Fall?

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [6. April 2020 um 19:12 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/4 "2020-04-06T19:12:27Z")

</div>

Hallo [@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski „Moritz Naczenski“)‍

die Variable ist einzigartig. Sie hat das Hersteller-Prefix und kommt auch in keinem anderen unserer Plugins vor…

&nbsp;

Ich kann es leider auch nicht zuverlässig reproduzieren.

In meiner Entwicklungsumgebung&nbsp;mit eurem Vagrant-Setting auf Mac OS (vom 06.04: **v6.1.9** Stable Version 999999.9999999) funktioniert es.  
In meiner Entwicklungsumgebung mit eurem Vagrant-Setting auf Windows 10&nbsp;(vom 06.04: v9999999 Developer Version) funktioniert es **nicht**.  
Bei&nbsp;zwei Kunden aktuell ebenfalls nicht.  
In meinen Demoshops wiederum kein Problem.&nbsp;

Kann es sein, dass je nach Server-Konfiguration ein unterschiedlicher Compiler genutzt wird? Je nachdem wie man kompiliert&nbsp;kam es in der Vergangenheit ja immer wieder zu Problemen mit Variablen…

./psh.phar storefront:hot  
./psh.phar storefront:watch  
./psh.phar storefront:build  
./psh.phar storefront:dev  
bin/console theme:compile

&nbsp;

&nbsp;

**Zusatzfrage:** Wieso unterscheiden sich die Versionsnummern beider Vagrant-Settings?

Ich aktualisiere immer mit  
\> git pull  
\> cd platform  
\> git pull  
\> cd …  
\> composer update  
\> rm -R var/cache/\*  
\> ./psh.phar install

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [7. April 2020 um 08:49 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/5 "2020-04-07T08:49:12Z")

</div>

[@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski “Moritz Naczenski”)‍

**Ich habe die Ursache finden können** , aber nicht, warum es nur bei manchen Konstellationen auftritt. Ich habe dazu ein Demoplugin erzeugt (siehe unten).

Je nach Konstellation/Installation/System wird die **base.scss** zum Kompilieren verwendet oder auch nicht.

* * *

**Erläuterung:**

In der base.scss ist die Reihenfolge der zu ladenden @import-Dateien vorgegeben. In Systemen, welche die base.scss verwenden kann das Plugin installiert werden.

Beispiel dieser base.scss

```
/*
 * Variables
 * ------- */
@import 'abstract/variables.scss';

/*
 * Component
 * ------- */
@import 'component/component.scss';

```

In einer anderen Konstellation/Installation/System wird aber die **base.scss ignoriert** (?!) und die Dateien zum Kompilieren (von Webpack?) beim Aktivieren einfach irgendwie eingelesen. Also beispielsweise die component/component.scss **bevor** die abstract/variables.scss eingelesen wurde. Damit sind die Variablen dann unbekannt und das Plugin kann nicht aktiviert werden.

* * *

Herausgefunden habe ich das, als ich mit dem Demoplugin herumgespielt habe und den @import-Befehel der component/component.scss aus der base.scss entfernt habe, aber die Datei im Plugin belassen habe. Dann habe ich versucht das Plugin in dem Konstellation/Installation/System zu aktivieren. Die Datei wurde dennoch beim Kompilieren verwendet und die Verwendung der Variable in dieser Datei bemängelt.

&nbsp;

**Ergebnis:**  
Aus mir unverfindlichen Gründen wird in machen Systemen mit gleicher Shopware Version die base.scss nicht verwendet und die scss-Dateien beim Kompilieren eigenständig gezogen. Dabei kommt es dann beim Aktivieren zu dem Fehler, dass definierte Variablen unbekannt sind.

* * *

**Beispiel-Plugin:**  
[Dropbox - Scss.zip - Simplify your life](https://www.dropbox.com/s/n0m0gmj5jtmi9s9/Scss.zip?dl=0)

---

<div class="post-metadata">

**Author:** ![inventivo](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/inventivo/32/11397_2.png) [@inventivo](https://forum.shopware.com/u/inventivo)\
**Post date:** [19. Juni 2020 um 06:51 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/6 "2020-06-19T06:51:34Z")

</div>

Ich habe aktuell das gleiche problem mit einem Custom Plugin. Die Struktur ist richtig angelegt, in der lokalen Umgebung funktioniert das theme:compile perfekt. Auf dem Staging-Server plötzlich nicht. Er moniert, dass ihm eine Variable fehlt.

Gibt es hier eine Lösung?

&nbsp;

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [2. Juli 2020 um 14:03 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/7 "2020-07-02T14:03:14Z")

</div>

Leider nein. Das Ticket [Shopware Issuetracker](https://issues.shopware.com/issues/NEXT-8043) ist zwar bereits eingeplant, aber noch keiner Version zugewiesen.  
Gerade wieder einen Kunden im Ticket, der das Problem hat.

&nbsp;

Gibt es einen Workaround oder eine andere Lösung?

---

<div class="post-metadata">

**Author:** ![SmartStylez](https://avatars.discourse-cdn.com/v4/letter/s/a88e4f/32.png) [@SmartStylez](https://forum.shopware.com/u/SmartStylez)\
**Post date:** [27. Juli 2020 um 11:47 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/8 "2020-07-27T11:47:24Z")

</div>

Ich habe mit dem Custom Products Plugin das gleiche Problem und kann dieses nicht aktivieren.&nbsp;Hat jemand das Problem bereits lösen können?

Plugin Aktivierung ist fehlgeschlagen  
Plugin konnte auf Grund der Fehlermeldung "Unable to compile the theme “Storefront”. Missing argument value:&nbsp;

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [27. Juli 2020 um 14:42 UTC](https://forum.shopware.com/t/plugin-kann-nicht-aktiviert-werden-import-variablen-sind-undefined-500-recursion-detected/66075/9 "2020-07-27T14:42:40Z")

</div>

Zu Custom Products kannst du ja ein Ticket aufmachen, dann schauen die Kollegen sich das auf deinem System an.
