# Module installieren über Composer (Oxid6)

**URL:** <https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972>\
**Category:** Deutsches Forum\
**Tags:** oxid6, installation-konfiguration\
**Created:** [January 31, 2018, 9:14pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972 "2018-01-31T21:14:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![gondor](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/g/f04885/32.png) [@gondor](https://forum.oxid-esales.com/u/gondor)\
**Post date:** [January 31, 2018, 9:14pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/1 "2018-01-31T21:14:53Z")

</div>

Hallo Comunity,

aktuell befasse ich mich mit dem Oxid 6.

Hier benötige ich Hilfe bezüglich dem Installieren von Modulen/Themes via Composer.

Soweit ich das verstanden habe müssen diese über die composer.json installiert werden.

Meine Module/Themes liegen in einem GitLab-Repository (develop-Branch):

- modules
  - modules\_1  
composer.json
  - modules\_2  
composer.json  
…

- themes
  - theme\_1  
composer.json
  - theme\_2  
composer.json

Wie kann ich nun verschiedene Module (z.b. modules\_1 u. modules\_2, theme\_2) in der composer.json von Oxid installieren?

Können Sie mir ein ausführliches Beispiel geben?

Oder muss für jedes Modul/Theme ein eigenes Repository erstellt werden?

Danke für die Hilfe.

---

<div class="post-metadata">

**Author:** ![vanilla\_thunder](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/vanilla_thunder/32/72_2.png) [@vanilla\_thunder](https://forum.oxid-esales.com/u/vanilla_thunder)\
**Post date:** [January 31, 2018, 10:15pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/2 "2018-01-31T22:15:01Z")

</div>

hier ist das erste Suchergebnis von Google:

> **[Module erstellen für OXID 6 - shoptimax.de](http://www.shoptimax.de/news/beitrag/module-erstellen-fuer-oxid-6)**
>
> OXID 6 steht in den Startlöchern. Während sich oberflächlich nicht viel ändert, wurde der Shop-Core deutlich entschlackt und modularisiert. Nicht zuletzt ist es …

---

<div class="post-metadata">

**Author:** ![marco.steinhaeuser](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/marco.steinhaeuser/32/1832_2.png) [@marco.steinhaeuser](https://forum.oxid-esales.com/u/marco.steinhaeuser)\
**Post date:** [February 1, 2018, 12:10am UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/3 "2018-02-01T00:10:33Z")

</div>

@Marat, ich glaube, @gondor geht es eher um das installieren von Modulen als um das Erstellen, das Stefan beschreibt.

Im Grunde können “alte” Module, die keine metadata2 benutzen oder keine Namespaces einsetzen, direkt wie auch früher einfach hochgeladen und aktiviert werden. Manchmal müssen diese älteren Module noch angepasst werden, je nachdem, was überladen wurde. Das ist hier beschrieben:

> **[How to (quickly) port a module to OXID eShop 6.0 • OXIDforge](https://oxidforge.org/en/how-to-quickly-port-a-module-to-oxid-eshop-6-0.html)**
>
> This post describes the minimum changes necessary to make an existing module immediately compatible with OXID eShop 6.0. In a later blog post we will tell you how to fully port a module or write a new one from scratch so that it fits OXID eShop 6.0...

Im Fall von Modulen, die explizit schon für OXID eShop 6 geschrieben wurden und metadata2 und Namespaces benutzen, ist ein weiterer Schritt unter der Installation erforderlich:

- Modul in den Module-Ordner hochladen (wie bisher)
- Composer run, um die Namespaces im Shop anzumelden (das ist neu!)
- Modul aktivieren (wie bisher)

Alternativ können Module, die exklusiv für OXID eShop v6 geschrieben wurden, direkt über Composer installiert werden.

---

<div class="post-metadata">

**Author:** ![gondor](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/g/f04885/32.png) [@gondor](https://forum.oxid-esales.com/u/gondor)\
**Post date:** [February 1, 2018, 8:11am UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/4 "2018-02-01T08:11:53Z")

</div>

Hallo,

danke für die Rückmeldung.

Bei meinem Anliegen geht es nicht um die Erstellung der Module, sondern eher um das Installieren bzw. spätere Deployment mittels Composer. Hier steh ich auf dem Schlauch 😉

Aktuell ist es so, dass wir alle Module in eigene Branches eines Repositories haben. Diese mergen wir in einem Develop-Branch der später wiederum in einem Master-Branch gemerged wird. Per Deployment wird der Master-Branch dann “ausgerollt”.

Der Master-Branch sieht dann so aus:

modules/  
modules\_1/  
=\> alle notwendigen Modul-Dateien  
=\> composer.json  
modules\_2/  
=\> alle notwendigen Modul-Dateien  
=\> composer.json

Application/views/  
theme\_1/  
=\> alle notwendigen Theme-Dateien  
=\> composer.json  
theme\_2/  
=\> alle notwendigen Theme-Dateien  
=\> composer.json

Jetzt ist die Frage, wie das Handling mittels Composer gemacht wird. Wenn ich die Module in den Master pushe, müsste doch das Composer-Update angestossen werden, damit die Module installiert/aktualisiert werden (soweit ich das verstanden habe)

In der Oxid-Shop composer.json müssen dafür die entsprechenden Module bekannt gemacht werden:

“repositories”: [  
{  
“type”: “vcs”,  
“url”: “https://”  
}  
],  
“require”: {  
“xyz/modules\_1”: “dev-master”,  
“xyz/modules\_3”: “dev-master”  
},

In dem Master-Branch liegt aber keine composer.json im Root-Verzeichnis (nur in den entsprechenden Modulen) bzw. sagt mir Composer update:

No valid composer.json was found in any branch or tag of https://, could not load a package from it.

Wie müsste denn die composer.json im master aussehen, damit die Module installiert/aktualisiert werden können bzw. ist der Weg so richtig oder muss das Ganze ganz anders gehandelt werden?

Danke für Antworten.

---

<div class="post-metadata">

**Author:** ![ploxid](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/p/22d042/32.png) [@ploxid](https://forum.oxid-esales.com/u/ploxid)\
**Post date:** [June 22, 2018, 1:15pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/5 "2018-06-22T13:15:20Z")

</div>

Die Anleitung zum Module installieren verweist auf ein “OXID eShop Composer Plugin” mit einem Link zu Github, das “Plugin” hat eine Readme die überhaupt nix zur Installation erwähnt und es sind zwar php-dateien aber keine einzige index.php oder sonst eine Datei die man als Startpunkt identifizieren könnte? Gibts bei Oxid jetzt auch Plugins neben den Modulen? Ist das ein Modul? Oder ist das ein Plugin für Composer? Was macht das? Wo muss das hin? Fragen über Fragen und überall wo drüber getextet wird, wie hier im Forum reden die Leute, als wär es doch total offensichtlich und man bräuchte gar keine Anleitung dafür:

“Einfach Module über Composer.json installieren” ist ja ein netter Anhaltspunkt, nur, wie? ich kapier es scheinbar einfach nicht und hätte gerne mal ne Anleitung die die Modulinstallation vom Download bis zur Aktivierung/Konfiguration eines Moduls erklärt.  
Ich kann mit “musst du einfach über composer machen” nämlich so richtig null anfangen. Da müsste mir doch zumindest jemand sagen, was ich für einen composerbefehl bräuchte, damit das richtige modul heruntergeladen wird oder was hab ich hier missverstanden?

Ein gutes Beispiel sind vielleicht die Tags, erst hab ich die Funktion vermisst, dann hab ich mehr oder weniger zufällig in einer Anleitung zu etwas anderem erfahren, dass Tags ausgelagert wurden, gibts jetzt per Modul. Nur leider findet sich scheinbar kein solches Modul im Exchange, inzwischen hab ich (auch mehr oder weniger zufällig) den Modulconnector gefunden aber auch da gibts das nicht, und Anleitungen dazu scheint es auch nicht zu geben. Im Forum gibts nur Threads mit Problemen mit dem Modul, nix zum Download oder installation. Wo soll ich noch danach suchen?

---

<div class="post-metadata">

**Author:** ![leofonic](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/leofonic/32/58_2.png) [@leofonic](https://forum.oxid-esales.com/u/leofonic)\
**Post date:** [June 22, 2018, 2:47pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/6 "2018-06-22T14:47:15Z")

</div>

Die Anleitung die du gefunden hast richtet sich an Entwickler die selber Module schreiben wollen. Wenn du nur ein Modul installieren willst muss die Installations-Anleitung beim Modul dabei sein. Das Composer-Plugin ist Bestandteil einer Oxid 6 Installation, muss man also nicht extra installieren.  
Module die keine Namespaces verwenden kann man wie früher downloaden und in den modules-Ordner kopieren. Bei anderen macht man das über composer, der Befehl muss in der Installations-Anleitung stehen. Das Tags-Modul gibt’s hier: [https://github.com/OXIDprojects/tags-module](https://github.com/OXIDprojects/tags-module), und unten in der Readme stehen verschiedene Möglichkeiten für die Installation.

---

<div class="post-metadata">

**Author:** ![windes](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/windes/32/117_2.png) [@windes](https://forum.oxid-esales.com/u/windes)\
**Post date:** [June 22, 2018, 3:02pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/7 "2018-06-22T15:02:36Z")

</div>

Hallo ploxid,

Ein Versuch Klarheit ins Dunkel zu bringen!

1. Composer hat mit Exchange zu tun!  
Mit [Composer](https://getcomposer.org/) kann man Programme über die Komandozeile installieren und aktualisieren.
2. [Packagist](https://packagist.org) listet alle auf Github veröffentlichten Erweiterungen auf. Wenn man dort in die Suche oxid und tags eingibt, wird folgendes Reposity aufgelistet:

oxid-projects/tags-module

Jetzt loggt man sich über die SSH Konsole ein und geht in die OXID 6 Installation (dorthin wo die composer.json liegt) und gibt den Befehl

**composer require oxid-projects/tags-module** (kopiert aus Packagist) ein und bestätigt mit **_Enter_**  
Im Erfolgsfall sollte jetzt das Modul automatisch installiert werden.

Ich hoffe ich konnte ein paar dunkle Wolken vertreiben  
Steffen Winde

---

<div class="post-metadata">

**Author:** ![leofonic](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/leofonic/32/58_2.png) [@leofonic](https://forum.oxid-esales.com/u/leofonic)\
**Post date:** [June 22, 2018, 3:09pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/8 "2018-06-22T15:09:42Z")

</div>

> [@windes](#):
>
> Composer hat mit Exchange zu tun!

Echt? 😉

PS: wenn man die Dev-Tools nicht installiert hat muss man an den Installations-Befehl noch --update-no-dev dranhängen, sonst werden die auch gleich installiert.

---

<div class="post-metadata">

**Author:** ![tabsl](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/tabsl/32/2468_2.png) [@tabsl](https://forum.oxid-esales.com/u/tabsl)\
**Post date:** [July 1, 2018, 5:51am UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/9 "2018-07-01T05:51:08Z")

</div>

> [@windes](#):
>
> Composer hat mit Exchange zu tun!

Ne nicht wirklich. Exchange ist ein (möchtegern) Modulkatalog und composer ein Paketmanager.

> [@windes](#):
>
> [Packagist](https://packagist.org) listet alle auf Github veröffentlichten Erweiterungen auf. Wenn man dort in die Suche oxid und tags eingibt, wird folgendes Reposity aufgelistet:

Auch nicht ganz, auf packagist sind nur die Module/Repos verfügbar, welche der Inhaber auch mit packagist verknüpft hat.

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 16, 2018, 1:00pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/10 "2018-07-16T13:00:26Z")

</div>

Hallo, mein Ordner heißt oxid6. Dort befindet sich unter anderem composer.json und die beiden Ordner source und vendor. Die Verbindung habe ich über putty hergestellt. Gebe ich jetzt den composer-befehl ein, mit oder ohne ` am Anfang und Ende, kommt die Meldung -shell: composer: command not found.  
Mir ist auch nicht klar, wie der Composer an die Adresse des child\_themes kommt.([https://github.com/eComStyle/Flow\_Childtheme.git](https://github.com/eComStyle/Flow_Childtheme.git))  
Ich weiß auch nicht,wie ich auf der Seite von github vorgehen muss.  
Stehe jetzt auf dem Schlauch.

---

<div class="post-metadata">

**Author:** ![nickname](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/nickname/32/182_2.png) [@nickname](https://forum.oxid-esales.com/u/nickname)\
**Post date:** [July 16, 2018, 2:28pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/11 "2018-07-16T14:28:12Z")

</div>

Hi,

anscheinend funktioniert composer bei dir nicht. Wie konntest du denn so den Shop installieren?

Das Childtheme geht notfalls auch ohne composer zu installieren:  
Die Datei theme.php und den Ordner tpl kopiert du nach:

```
\source\Application\views\flow_child 

```

(der Order _flow\_child_ muss von dir neu erstellt werden).

Den Ordner out komplett kopieren nach:

```
\source

```

Aktivieren, fertig.

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 16, 2018, 2:32pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/12 "2018-07-16T14:32:35Z")

</div>

Den Shop hat Profihost für kleines Geld für mich installiert.

---

<div class="post-metadata">

**Author:** ![nickname](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/nickname/32/182_2.png) [@nickname](https://forum.oxid-esales.com/u/nickname)\
**Post date:** [July 16, 2018, 2:46pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/13 "2018-07-16T14:46:12Z")

</div>

Aha. Composer wäre nicht schlecht, denn ansonsten wirst du kein einziges OXID6-Modul installieren können.

Evtl. kannst du ihn ja irgendwie zum Funktionieren bewegen, gibt ja sicher ne FAQ, Doku, Google oder den Support.

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 16, 2018, 2:58pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/14 "2018-07-16T14:58:46Z")

</div>

Ja klar, liegt ja in meinem Interesse.  
Habe von dir das Modul zur Entfernung des Preisalarms gefunden. Ist bei mir auch noch eine Baustelle.

Das flow\_child ist aktiviert, vielen Dank für deine Hilfe.

Ich habe in den 80ern 10 Jahre Programme in Cobol auf einem großen IBM-Rechner geschrieben. Da hatte man mit der Systemumgebung so gar nichts am Hut, dafür gabs noch das Berufsbild des Operators. Heute eine fast ausgestorbene Spezies.

Also so ganz ohne Kenntnisse bin ich nicht. Das nur am Rande.

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 16, 2018, 3:33pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/15 "2018-07-16T15:33:51Z")

</div>

Habe gerade festgestellt, das nach der Aktivierung mein Testshop im Produktivmodus war.

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 17, 2018, 1:02pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/16 "2018-07-17T13:02:20Z")

</div>

Hallo, wollte mal deinen /antipreisalarm von github installieren, klappt auch nicht.  
Und das soll ja dann auch in das child-theme.  
Ich glaube ich habe da ein Verständnisproblem.  
Muss ich in der composer.json noch Eintragungen machen? Irgend wo müssen doch die infos stehen, wo der composer das modul findet,oder?

---

<div class="post-metadata">

**Author:** ![nickname](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/nickname/32/182_2.png) [@nickname](https://forum.oxid-esales.com/u/nickname)\
**Post date:** [July 17, 2018, 5:04pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/17 "2018-07-17T17:04:39Z")

</div>

> [@neuling2](#):
>
> Hallo, wollte mal deinen /antipreisalarm von github installieren, klappt auch nicht.

Bist du so wie in der Readme beschrieben vorgegangen?

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 17, 2018, 5:18pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/18 "2018-07-17T17:18:37Z")

</div>

Ja klar.  
So war der Weg:

1. In winSCP putty geöffnet und mich bei meinem Server angemeldet [xxx@ftp.xxx.de](mailto:xxx@ftp.xxx.de)
2. in den Ordner Oxid6 gewechselt, das ist meine root
3. Composer-befehl eingegeben, Ergebnis: -shell: composer: command not found

Einen SSH-Zugang habe ich.

---

<div class="post-metadata">

**Author:** ![nickname](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/nickname/32/182_2.png) [@nickname](https://forum.oxid-esales.com/u/nickname)\
**Post date:** [July 17, 2018, 5:20pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/19 "2018-07-17T17:20:29Z")

</div>

Wie bereits geschrieben:

> [@nickname](#):
>
> anscheinend funktioniert composer bei dir nicht.

…bzw. Composer ist auf dem Server gar nicht installiert.

---

<div class="post-metadata">

**Author:** ![neuling2](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@neuling2](https://forum.oxid-esales.com/u/neuling2)\
**Post date:** [July 17, 2018, 5:27pm UTC](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972/20 "2018-07-17T17:27:26Z")

</div>

Da Profihost den Shop installiert hat, gehe ich davon aus, dass der composer mit installiert ist. Aber wie war das noch mit den Pferden vor der Apo?  
Habe heute bei denen ein Ticket erstellt und hoffe morgen auf schnelle Antwort.  
Melde mich dann dazu, vllt. haben ja andere ein ähnliches Problem und bekommen auf diesem Weg eine schnelle Lösung.

[Next page](https://forum.oxid-esales.com/t/module-installieren-ueber-composer-oxid6/92972.md?page=2)
