Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Libraries bei composer.json einbinden

Eingetragen von Kulturmensch (165)
am 01.11.2019 - 09:44 Uhr in
  • Anfängerfragen
  • Drupal 8.x oder neuer

Wie bindet man von Modulen geforderte zusätzliche Libraries in der composer.json ein? Ich habe beispielsweise das Modul Views Slideshow installiert, das die externe JavaScript librariy jquery.cycle.all.js benötigt.
Das hat sehr gut funktioniert. Jetzt wurde mir gestern mitgeteilt, dass es notwendig sei, die zusätzliche Library auch in der composer.json einzubinden.
Dazu ergeben sich zunächst folgende Fragen:

  1. Wie bindet man die Library ein (Pfad, Notation ...)?
  2. An welcher Stelle der existierenden composer.json bindet man die Library ein?
  3. Wie testet man, das man keinen Fehler beim Einbinden gemacht hat?
  4. Was macht man nach dem Eindbinden? composer update o.ä. ?
‹ Warnung bei composer.json update Libraries bei composer.json einbinden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hierein Auszug aus meinem

Eingetragen von wla (9461)
am 01.11.2019 - 14:54 Uhr

Hierein Auszug aus meinem composer.json:
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
},
{
"type": "package",
"package": {
"name": "jackmoore/colorbox",
"version": "1.6.4",
"type": "drupal-library",
"dist":{
"url": "https://github.com/jackmoore/colorbox/archive/master.zip",
"type": "zip"
}
}
}
],

"extra": {
"installer-paths": {
"web/core": ["type:drupal-core"],
"web/libraries/{$name}": ["type:drupal-library"],
"web/modules/contrib/{$name}": ["type:drupal-module"],
"web/profiles/contrib/{$name}": ["type:drupal-profile"],
"web/themes/contrib/{$name}": ["type:drupal-theme"],
"drush/Commands/{$name}": ["type:drupal-drush"]
},

Bei den Repositories habe ich ich die colorbox library als Package eingebunden. Unter extras bei den Installer Paths ist festgelegt, wohin das Package abgelegt wird.
Installiert wird die Colorbox-Library mittels composer require jackmoore/colorbox.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super! Herzlichen Dank!

Eingetragen von Kulturmensch (165)
am 01.11.2019 - 16:53 Uhr

Super! Herzlichen Dank! Nach diesem Muster habe ich nun meine Library eingebunden.

"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
{
"type": "package",
"package": {
"name": "jQuery Cycle Plugin",
"version": "3.0.3-2013.07.11",
"type": "drupal-library",
"dist":{
"url": "https://github.com/malsup/cycle/archive/master.zip",
"type": "zip"
}
}
}

Der Rest stimmt mit Deiner json-Datei überein. Nach dem Einbinden habe ich den Befehl "composer update" ausgeführt. Nun werden einige symphony-updates ausgeführt. Das etwas mit dem neuen Eintrag des Cycle Plugins angestellt wird, sehe ich nicht. Fehlermeldungen gibt es auch nicht. Kann ich die "Wirkung" dieses Eintrags irgendwie überprüfen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bei den libraries gehe ich

Eingetragen von wla (9461)
am 01.11.2019 - 16:48 Uhr

Bei den libraries gehe ich oft noch einen Schritt weiter. Ich clone das Paket auf Github in meinen eigenen Space. Dann werfe ich alles raus, was ich nicht brauche und was evtl. Sicherheitsrisiken enthalten kann. Meist bleiben dann nur das JavaScript und zugehöriges CSS übrig. Anstelle von jackmoore/colorbox kommt dann meinspace/colorbox. Ich verändere bei mir die Versionen nicht automatisch. Oft verträgt sich das Drupal-Module auch nicht mit den neusten Versionen. Ob die Libraries auch mittels "composer update" upgedatet werden, kann ich nicht sagen. Das habe ich bisher nicht beobachtet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Rückmeldung!

Eingetragen von Kulturmensch (165)
am 01.11.2019 - 17:01 Uhr

Danke für die Rückmeldung! Mit Git will ich mich bald beschäftigen, vor allem, da Plesk mir mittlerweile Git-Unterstützung anbietet (habe aber noch nicht vertsanden, wie dies genau funktionieren soll). Ich hatte jetzt nach Deinem Muster meine composer.json bearbeitet und diese Zeilen eingefügt:

"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
{
"type": "package",
"package": {
"name": "jQuery Cycle Plugin",
"version": "3.0.3-2013.07.11",
"type": "drupal-library",
"dist":{
"url": "https://github.com/malsup/cycle/archive/master.zip",
"type": "zip"
}
}
}
Ein composer update läuft, kopiert mir aber keine Datei in den Library-Ordner. Fehlermeldung gibt es auch nicht. Die Testseite läuft wie zuvor. Kann ich die Wirkung dieses neuen Eintrags irgendwie überprüfen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Versuch es mal mit dieser

Eingetragen von wla (9461)
am 01.11.2019 - 18:27 Uhr

Versuch es mal mit dieser Definition. Der Name muß dem Platz entsprechen (siehst Du oben auf der Github Seite). Die Version hat nur 3 Gruppen. Bei mir hat das so als cycle Ordner in Libraries geladen.
{
"type": "package",
"package": {
"name": "malsup/cycle",
"version": "3.0.3",
"type": "drupal-library",
"dist":{
"url": "https://github.com/malsup/cycle/archive/master.zip",
"type": "zip"
}
}
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Perfekt

Eingetragen von Kulturmensch (165)
am 01.11.2019 - 20:57 Uhr

Klasse - hat geklappt. (eine kleine Änderung war noch notwendig und zwar muss es anscheinend statt "malsup/cycle" "malsup/jquery.cycle" heißen. So wird in libraries auch der Ordner jquery.cycle (statt nur cycle) angelegt, den das Plugin verlangt) Nach dem Einfügen wird mit composer require malsup/jquery.cycle die library an den richtigen Ort kopiert. Vielen Dank für die Hilfe! Noch rasch 3 Fragen.

1. Wenn ich einen downloadlink nicht zu master.zip sondern ohne zip also zu https://.../jquery.cycle.all.js unter url eintragen würde, was wäre dann bei "type" statt zip einzutragen?

2. Wäre ohne zip dieser Teil
"type": "package",
"package": {
noch richtig?

3. Sollte ich statt "version": "3.0.3" nicht besser "version": "^3.0.3" eintragen, um updates für 3.X.X mitzubekommen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Anstelle des Einbindens jedes

Eingetragen von Zman (185)
am 01.11.2019 - 20:53 Uhr

Anstelle des Einbindens jedes einzelnen Repos kann auch https://asset-packagist.org verwendet werden. Vereinfacht das Handling doch um einiges.

  • Anmelden oder Registrieren um Kommentare zu schreiben

asset-packagist

Eingetragen von Kulturmensch (165)
am 01.11.2019 - 21:10 Uhr

Interessant. Danke für den Tipp! Wie sieht denn dann z.B. die Einbindung von meinem jquery.cycle in der composre.json aus? Als repository füge ich

"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]

hinzu.

Und wie finde ich jetzt den richtigen Eintrag für meine jquery.cycle?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alles fertig

Eingetragen von Kulturmensch (165)
am 02.11.2019 - 10:32 Uhr

Durch asset-packagist habe ich auf die Schnelle nicht durchgeblickt, wie ich dies umsetzen soll.
Mit Werners Anleitung habe ich jetzt 6 Libraries eingebunden und alles funktioniert! Danke für die tolle Unterstützung!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 4 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association