# Shopware 5.7 RC1 - Plugins können nicht mehr genutzt werden - viele getestet (Store)

**URL:** <https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264>\
**Category:** Programmierung\
**Created:** [30. November 2020 um 19:28 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264 "2020-11-30T19:28:42Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [30. November 2020 um 19:28 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/1 "2020-11-30T19:28:42Z")

</div>

Hallo,&nbsp;

ich teste gerade ein Plugin in der 5.7 RC1 und kann das Theme nicht mehr kompilieren nachdem ich ein Plugin installiert habe (bereits bei der Installation des Plugins will das theme kompiliert werden). Es erscheint folgende Fehlermeldung:

&nbsp;

```
Während der Bearbeitung von Shop "Deutsch" ist ein Fehler aufgetreten: The "prefix_plugin_name.subscriber.subscriber" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead.

```

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/d/d618d7434dd2edf6068dead55bba646d6a6d73e4.jpeg)

**Ich habe auch andere Plugins aus dem Store getestet. Mit der Version 5.7 RC1 kann ich kein Plugin nutzen. Muss hier jetzt jeder Hersteller nachbessern?**

&nbsp;

&nbsp;

&nbsp;

Mir ist nicht klar, was hier bemängelt wird. Meine service.xml sieht folgendermaßen aus:

```
            %prefix_plugin_name.plugin_dir%
            %prefix_plugin_name.plugin_name%
            
            
        

        
            %prefix_plugin_name.plugin_dir%

```

Der Subscriber ist auch eher standard boilerplate:

```
pluginPath = $pluginPath;
		$this->pluginName = $pluginName;
		$this->configReader = $configReader;

	}

	/**
	 * @inheritdoc
	 */
	public static function getSubscribedEvents()
	{
		return [
			'Enlight_Controller_Action_PostDispatchSecure_Frontend_Detail' => 'onFrontendPostDispatch',
			'Theme_Compiler_Collect_Plugin_Less' => 'onCollectLessFiles',
			'Theme_Compiler_Collect_Plugin_Javascript' => 'onCollectJsFiles'
		];
	}

[...]

```

&nbsp;

&nbsp;

// Edit: Wenn ich an den service in der services.xml publig=“true” anhänge verschwindet die Fehlermeldung. In der Doku ([Plugin services](https://developers.shopware.com/developers-guide/services/#registering-the-service)) steht davon aber nichts! Im UPGRADE-5.7.md findest sich ebenfalls nichts dazu.&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [1. Dezember 2020 um 12:08 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/2 "2020-12-01T12:08:34Z")

</div>

[@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski “Moritz Naczenski”)‍, [@Tobias Berge]([http://forum.shopware.com/profile/20591/Tobias](http://forum.shopware.com/profile/20591/Tobias) Berge “Tobias Berge”)‍  
&nbsp;

Könnt ihr vll. hierzu was sagen? Ist das jetzt neu in 5.7 oder ist bei meiner Test-Installation was schief gelaufen?

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [1. Dezember 2020 um 12:09 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/3 "2020-12-01T12:09:52Z")

</div>

Ich dachte, das wäre schon Dein Ticket&nbsp; ![Smile](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/smile.png "Smile")  
[Shopware Issuetracker](https://issues.shopware.com/issues/SW-25839)

Wegen der Änderungen gibt es auch eine recht lange RC-Phase von 8 bis 10 Wochen!  
[Der Shopware 5.7 Release Candidate ist da | Shopware](https://www.shopware.com/de/news/plugin-hersteller-aufgepasst-der-shopware-5-7-release-candidate-ist-da/)

Munter Tickets anlegen und **VOTEN.**

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [1. Dezember 2020 um 12:19 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/4 "2020-12-01T12:19:11Z")

</div>

Ihr müsst eure Plugins fixen. Siehe am besten den Blog Post von Symfony selbst

> **[New in Symfony 3.4: Services are private by default (Symfony Blog)](https://symfony.com/blog/new-in-symfony-3-4-services-are-private-by-default)**
>
> In Symfony 3.4 services and aliases are private by default. This may require you to change some service definitions in your bundles and applications.

Mit den Ticket werden Shopware relevante Tags die einen Service public brauchen automatisch auf public gesetzt. Wir werden aber nicht eure eigenen Services ändern.

Siehe auch [Shopware 5 upgrade guide](https://developers.shopware.com/developers-guide/shopware-5-upgrade-guide-for-developers/#changes-due-library-updates)

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [1. Dezember 2020 um 12:36 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/5 "2020-12-01T12:36:44Z")

</div>

Danke für die Rückmeldung! Verstehe ich das richtig, dass es damit getan ist, in der services.xml **public=„true“** an die eigenen Services zu hängen?

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [1. Dezember 2020 um 21:43 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/6 "2020-12-01T21:43:38Z")

</div>

Du kannst einfach alle als Public markieren wie wir das im Core machen wegen Kompatibilitätsgründen [shopware/services.xml at 5.7 · shopware/shopware · GitHub](https://github.com/shopware/shopware/blob/5.7/engine/Shopware/Components/DependencyInjection/services.xml#L26)

Aber eigentlich solltest du nur im Notfall $container-\>get machen und alles injecten, wie im Symfony Blog Beitrag beschrieben

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [2. Dezember 2020 um 10:30 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/7 "2020-12-02T10:30:42Z")

</div>

hmm… **$container-\>get** verwende ich in meinen Plugins gar nicht. Ich habe in jedem Subscriber einen Konstruktor für die Services aus der service.xml. Dennoch musste ich alle Services auf public stellen…

Ich greife nur in einem Subscriber auf `$service = Shopware()->Container()->get('shopware_attribute.crud_service');`&nbsp; zu. Aber was hat das letztlich mit den Services in meiner service.xml zu tun?

---

<div class="post-metadata">

**Author:** ![webidea24](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/webidea24/32/25709_2.png) [@webidea24](https://forum.shopware.com/u/webidea24)\
**Post date:** [3. Dezember 2020 um 10:27 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/8 "2020-12-03T10:27:47Z")

</div>

Hallo Zusammen,&nbsp;

ich habe ebenfalls selbes Problem.&nbsp;  
es kann doch nicht sein, dass jetzt jedes Plugin geupdated werden muss, und alle Services als `public` definiert werden muss.&nbsp;

Das ist eigentlich nicht der Symfony-Weg. Symfony erkennt normalerweise automatisch, dass es sich um einen privaten Service handelt, und behandelt das instanzieren dieses Service dann auch anders.

Hier muss also dringend eine Lösung her.  
Viele Plugins werden nicht mehr groß maintained, sind aber noch in vielen Shops noch installiert. Das wäre ein ziemlicher Killer, wenn der Shopbetreiber seinen Shop updaten möchte, aber nicht kann, weil die Services alle nicht mehr instanziert werden können.

Was sagt Shopware allgemein zu diesem Thema @Shyim‍?  
Wird dieses Thema noch für das offiziellen Release angegangen ?

&nbsp;

Grüße aus Berlin!

---

<div class="post-metadata">

**Author:** ![webidea24](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/webidea24/32/25709_2.png) [@webidea24](https://forum.shopware.com/u/webidea24)\
**Post date:** [3. Dezember 2020 um 11:40 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/9 "2020-12-03T11:40:43Z")

</div>

Selbes Problem übrigens auch mit dem von SW registrierten&nbsp;Plugin Logger. Dieser ist ebenfalls als `private` registriert.  
Keine Chance, den PluginLogger zu nutzen, überall krachts.

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [4. Dezember 2020 um 04:51 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/10 "2020-12-04T04:51:57Z")

</div>

Wie gesagt Services die von dem Core erstellt werden wie der Plugin Logger, Subscriber etc werden später automatisch auf public gesetzt. Aber komplett eigene Komponenten müsst ihr selber entscheiden ob diese public sein sollen oder nicht.

Jedes Saubere Plugin welches die Dependency Injection richtig benutzt sollte hier gar keine Probleme haben

---

<div class="post-metadata">

**Author:** ![webidea24](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/webidea24/32/25709_2.png) [@webidea24](https://forum.shopware.com/u/webidea24)\
**Post date:** [10. Dezember 2020 um 11:43 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/11 "2020-12-10T11:43:33Z")

</div>

Hallo Shyim,

ich habe auch Kollegen aus dem Symfony Stack in dieses Thema integriert und prüfen lassen.  
Auch diese sind der Meinung, dass hier gewaltig etwas schief läuft.

Auch bei korrekter Nutzung der DI funktioniert es nicht korrekt, da der Container immer nach public-Services sucht.  
Einen Blick in den generierten Container unter /var/cache/ bestätigt dies.

Grüße

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [11. Dezember 2020 um 13:11 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/12 "2020-12-11T13:11:52Z")

</div>

Ich versteh nicht genau was du meinst. Kannst du den Link zu dem Thread im Symfony Slack senden?

> <https://github.com/shopware/shopware/commit/5dfb5fe9cdf8c7bac7bb95c6d6c67b29ecfbf127>

Subscriber / der Logger / Filesystem sollten jetzt so klappen wie vorher

---

<div class="post-metadata">

**Author:** ![hiro](https://avatars.discourse-cdn.com/v4/letter/h/b5ac83/32.png) [@hiro](https://forum.shopware.com/u/hiro)\
**Post date:** [15. Dezember 2020 um 13:42 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/13 "2020-12-15T13:42:00Z")

</div>

Hey Shyim,&nbsp;

ich habe die Services wie von dir beschrieben als public markiert. Hier meine services.xml:&nbsp;

> \<?xml version="1.0" ?\>
> 
> %name.plugin\_dir%

&nbsp;

**Fatal error** : Uncaught Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service „Template“. Did you mean one of these: „template“, „Enlight\_Template\_Manager“, „Shopware\Bundle\BenchmarkBundle\Service\TemplateCachingHandler“, „Shopware\Bundle\StoreFrontBundle\Gateway\DBAL\Hydrator\TemplateHydrator“, „Shopware\Components\DependencyInjection\Bridge\Template“, „Shopware\Components\DependencyInjection\Bridge\TemplateMail“, „Shopware\Components\Template\HtmlMinCompressor“, „Shopware\_Components\_TemplateMail“? in \*/shopwaredemo.\*.de/vendor/symfony/dependency-injection/Container.php:289 Stack trace: #0 \*/shopwaredemo.\*.de/vendor/symfony/dependency-injection/Container.php(231): Symfony\Component\DependencyInjection\Container-\>make(‚Template‘, 1) #1 \*/shopwaredemo.\*.de/engine/Shopware/Components/DependencyInjection/Container.php(210): Symfony\Component\DependencyInjection\Container in&nbsp; **/\*/shopwaredemo.\*.de/vendor/symfony/dependency-injection/Container.php** &nbsp;on line&nbsp; **289**

hast du eine Idee woran das liegen könnte?

lg

//Fehler gefunden:&nbsp;

Sollte noch jemand in seinen Plugins dieses Konstrukt verwendet haben:&nbsp;

> $this-\>container-\>get(‚Template‘)-\>addTemplateDir( $this-\>getPath() . ‚/Resources/views/responsive/‘ );

Das funktioniert nicht mehr. Ersetzt durch:&nbsp;

> $this-\>container-\>get(‚template‘)-\>addTemplateDir( $this-\>getPath() . ‚/Resources/views/responsive/‘ );

&nbsp;

---

<div class="post-metadata">

**Author:** ![webidea24](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/webidea24/32/25709_2.png) [@webidea24](https://forum.shopware.com/u/webidea24)\
**Post date:** [17. Dezember 2020 um 13:54 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/14 "2020-12-17T13:54:36Z")

</div>

Hallo Shyim,&nbsp;

ich habe interne Kollegen im Symfony Bereich mit denen ich gesprochen habe. Da gibt es kein schriftliches Protokoll zu 😃

---

<div class="post-metadata">

**Author:** ![hiro](https://avatars.discourse-cdn.com/v4/letter/h/b5ac83/32.png) [@hiro](https://forum.shopware.com/u/hiro)\
**Post date:** [21. Dezember 2020 um 11:10 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/15 "2020-12-21T11:10:13Z")

</div>

Ist nicht kompatibel mit Shopware Version 5.4. und verursacht einen 500er.&nbsp;

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [9. Januar 2021 um 16:04 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/16 "2021-01-09T16:04:55Z")

</div>

Ebenfalls: Das Legacy Plugin System wird vom Store nicht mehr unterstützt (beim Upload), lauffähig ist das Plugin unter 5.7 trotzdem.  
Wie ist da der Stand? Müssen jetzt alle Legacy Plugins für eine Version nachgebaut werden, obwohl sie lauffähig sind? Das wäre natürlich … crazy.

Schöne Grüße,  
Niklas

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [9. Januar 2021 um 16:56 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/17 "2021-01-09T16:56:11Z")

</div>

Interessante Frage das zum legacy. Das alte PayPal ist legacy, und es wurde von SW durch Moritz verbindlich im Forum bestätigt, dass das bis zur letzten SW5 Version supported wird.

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [9. Januar 2021 um 17:13 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/18 "2021-01-09T17:13:44Z")

</div>

Ich schaue mir das gleich nochmal genauer an, dann scheint es ja irgendwie gehen zu müsen.  
**Edit** : Habe mich geirrt, Analyse lief nun durch - läuft&nbsp; ![Thumb-Up](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/7fcda44f782696668a3d093569d15e88105769e1.png "Thumb-Up")

---

<div class="post-metadata">

**Author:** ![Srcaft](https://avatars.discourse-cdn.com/v4/letter/s/50afbb/32.png) [@Srcaft](https://forum.shopware.com/u/Srcaft)\
**Post date:** [2. August 2022 um 17:10 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/19 "2022-08-02T17:10:23Z")

</div>

Hallo zusammen, nach dem Update von Shopware 5.6 auf 5.7 gab es eines unserer Plugins welches nicht mehr aktualisiert wird und genau diese Fehlermeldung ausgibt:

```auto
The "hp_order_export_service" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead.

```

Nachdem ich in der services.xml des Plugins beim betreffenden Service ‚public=„true“‘ hinzugefügt habe funktioniert das Plugin wieder. Allerdings bin ich mir nicht ganz sicher welche Auswirkungen das haben könnte. Etwas das eigentlich Privat ist, auf Public zu schalten scheint mir rein intuitiv erstmal keine Gute Idee.  
Kann mir vielleicht jemand erklären was das in diesem Kontext zu bedeuten hat?  
Oder war der Service eventuell vorher schon by default public und seit Shopware 5.7 ist die default Einstellung einfach private und man muss nun explizit den Service auf public schalten?

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [3. August 2022 um 06:13 UTC](https://forum.shopware.com/t/shopware-5-7-rc1-plugins-konnen-nicht-mehr-genutzt-werden-viele-getestet-store/71264/20 "2022-08-03T06:13:33Z")

</div>

Hallo @Srcaft

deine letzte Vermutung ist genau richtig.

Hier kannst du mehr darüber erfahren:

> **[New in Symfony 3.4: Services are private by default (Symfony Blog)](https://symfony.com/blog/new-in-symfony-3-4-services-are-private-by-default)**
>
> In Symfony 3.4 services and aliases are private by default. This may require you to change some service definitions in your bundles and applications.

> **[Service Container (Symfony Docs)](https://symfony.com/doc/current/service_container.html#public-versus-private-services)**

> **[How to Create Service Aliases and Mark Services as Private (Symfony Docs)](https://symfony.com/doc/4.4/service_container/alias_private.html#marking-services-as-public-private)**

Viele Grüße aus Schöppingen  
Michael Telgmann
