ItinerisLtd.trellis_install_wp_cli_via_composer

trellis_install_wp_cli_via_composer

Installiere WP-CLI über Composer auf Trellis-Servern.

Ziel

Das Problem

Seit WP-CLI v2.0.0 gibt es keine Probleme mehr mit abhängigen Versionen, da die harte Anforderung an eine alte Version von Symfony weg ist. Der einzige Symfony-Komponent, den wir noch haben, ist symfony/finder, für den es keine obere Versionsgrenze gibt.

Die phar-Pakete von WP-CLI beinhalten jedoch immer noch die Abhängigkeiten, welche aus dem phar geladen werden. Das führt dazu, dass ihre Versionen festgelegt sind.

Wenn zum Beispiel WP-CLI v2.4.0 phar das symfony/process v2.8.5 enthält, wird bei der Installation eines neuen Pakets, das symfony/process:5.0.0 benötigt, immer die im phar enthaltene Version verwendet, die neuere Version wird ignoriert. Das kann dazu führen, dass das neue Paket nicht funktioniert.

Die Lösung

Die Installation von WP-CLI über Composer löst dieses Problem, indem die Abhängigkeiten korrekt verwaltet werden.

Rollenvariablen

# Composer-Pakete, die vor der Installation von WP-CLI entfernt werden sollen
# Standard: []
wp_cli_composer_global_remove_packages:
  - wp-cli/wp-cli-bundle
  - psy/psysh

# Composer-Pakete, die installiert werden sollen
# Standard: "wp-cli/wp-cli-bundle:{{ wp_cli_version }}"
wp_cli_composer_global_require_packages:
  - "wp-cli/wp-cli:2.4.0"
  - "wp-cli/package-command:^2"
  - "psy/psysh:^0.9.12"
  - "xxx/yyy:'^1.2.3 || ^2.2.3'"

# WP-CLI-Paket, das installiert werden soll
# Standard: []
wp_cli_packages:
  - "typisttech/image-optimize-command:@stable"
  - "[email protected]:Yoast/wp-cli-faker.git"

# WP-CLI-Pfad
# Standard: /usr/bin/wp
wp_cli_bin_path: /usr/bin/wp

# Pfad für die Bash-Vervollständigung von WP-CLI
# Standard: /etc/bash_completion.d/wp-completion.bash
wp_cli_completion_path: /etc/bash_completion.d/wp-completion.bash

Anforderungen

  • Trellis v1.3.0 oder höher
  • Ansible v2.7.0 oder höher
  • Python v3.7.6 oder höher

Installation

  1. Füge itinerisltd.trellis_install_wp_cli_via_composer zu galaxy.yml hinzu.
  2. Ersetze die Rolle wp-cli durch itinerisltd.trellis_install_wp_cli_via_composer.
  3. Installiere die Galaxy-Rollen.
  4. Proviere erneut.

FAQ

Wie installiere ich nur bestimmte Befehle anstelle des gesamten WP-CLI-Pakets?

Standardmäßig wird das gesamte WP-CLI-Paket installiert. Wenn du deine Server „schlank“ halten möchtest, installiere die Befehle selektiv.

Was tun, wenn Composer die Pakete wegen Konflikten nicht installieren kann?

Überprüfe die vorhandenen Composer-Pakete und ändere die Versionsbeschränkungen entsprechend.

Wie verifiziere ich, dass WP-CLI über Composer installiert ist?

Verwende den Befehl $ wp cli info. Wenn der WP-CLI-Pfad auf den Composer-Ordner verweist, ist alles in Ordnung.

Ist es idempotent oder deterministisch?

Nein. Es könnte sinnvoll sein, spezifische Paketversionen manuell zu verwalten.

Wo finde ich mehr nützliche Dinge wie dieses?

  • Artikel auf dem Blog von Itineris
  • Projekte auf dem GitHub-Profil von Itineris
  • Plugins auf den WP.org-Profilen von Itineris und TangRufus
  • Folge @itineris_ltd und @TangRufus auf Twitter
  • Beauftrage Itineris, um deine nächste großartige Seite zu erstellen

Wo kann ich :star::star::star::star::star: Bewertungen abgeben?

Vielen Dank für dein Interesse! Du kannst gute Dinge auf Twitter erwähnen, diesen GitHub-Repo sterben oder beobachten, Blogbeiträge schreiben oder Pull-Requests einreichen.

Testing

Führe den folgenden Befehl aus, um eine Syntaxprüfung durchzuführen:

ansible-playbook -i 'localhost,' --syntax-check tests/test.yml

Feedback

Bitte gib Feedback! Wir möchten diese Bibliothek in so vielen Projekten wie möglich nützlich machen. Reiche ein Problem ein oder mache Vorschläge.

Sicherheit

Wenn du Sicherheitsprobleme bemerkst, schreibe bitte an [dev@itineris.co.uk] anstatt den Issue-Tracker zu verwenden.

Credits

Dieses Projekt wurde von Itineris Limited erstellt und hat viele Mitwirkende. Eine vollständige Liste findest du auf der GitHub-Seite.

Lizenz

Das Projekt ist unter der MIT-Lizenz veröffentlicht.

Über das Projekt

Install WP-CLI via composer on Trellis servers

Installieren
ansible-galaxy install ItinerisLtd.trellis_install_wp_cli_via_composer
Lizenz
mit
Downloads
237
Besitzer
We’re a full-service digital marketing agency that partners with ambitious clients to help them grow