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
- Füge
itinerisltd.trellis_install_wp_cli_via_composer
zugalaxy.yml
hinzu. - Ersetze die Rolle
wp-cli
durchitinerisltd.trellis_install_wp_cli_via_composer
. - Installiere die Galaxy-Rollen.
- 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.
ansible-galaxy install ItinerisLtd.trellis_install_wp_cli_via_composer