Ich habe ein einfaches Test-WordPress-Plugin erstellt. Das Plugin besteht aus einer einzigen PHP-Datei (kreplach.php) und einer composer.json:
kreplach.php
<?php
/*
Plugin Name: kreplach
Plugin URI: http://gitlab.example.com/sales/kreplach
Description: just a test
Author: Foo Bartok
Version: 1.0
Author URI: http://example.com
*/
?>
composer.json
{
"license": "MIT",
"name": "sales/kreplach",
"type": "wordpress-plugin",
"description": "just a test",
"authors": [
{
"name": "Foo Bartok",
"email": "[email protected]",
"homepage": "example.com"
}
],
"require": {
"composer/installers": "*"
}
}
Auf meinem Dev-Server habe ich die folgende composer.json
Composer.json des Servers
{
"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org"
},
{
"type": "vcs",
"url": "[email protected]:sales/kreplach.git"
}
],
"require": {
"php": ">=5.4",
"wpackagist-plugin/akismet": "*",
"wpackagist-plugin/contact-form-7": "*",
"wpackagist-plugin/wordpress-importer": "*",
"sales/kreplach": "master",
"johnpbloch/wordpress": "4.*",
"composer/installers": "*"
},
"extra": {
"wordpress-install-dir": "wp"
}
}
Was meiner Meinung nach passieren sollte:
- Composer durchsucht das Git-Repository nach composer.json
- Composer stimmt mit dem Namen „sales/kreplach“ überein, der in der Datei „composer.json“ des Build-Hosts zu finden ist
- Composer kopiert den Inhalt des Master-Branch in
wp-content/plugins/kreplach
auf meinem Build-Host. - Mein gefälschtes Plug-in tut nichts wie vorgesehen.
Was passiert eigentlich:
Bitteres, bitteres Versagen.
Loading composer repositories with package information Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package sales/kreplach could not be found in any version, there may be a typo in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
Ich habe das Klonen getestet sales/kreplach
repo auf denselben Host, auf dem ich versuche, das Plugin zu installieren.
Um sicherzustellen, dass der Composer tatsächlich die composer.json-Datei aus dem Git-Repo liest, habe ich einen Tippfehler eingeführt (ja, völlig absichtlich, wie) der einen „Hey, diese JSON-Datei ist kaputt, Foam Head“-Fehler ausgegeben hat.
Meine Version von Gitlab ist Omnibus Edition 8.6.4 (heute installiert).
Ich habe den gleichen Trick erfolgreich mit pip/requirements.txt durchgeführt, um benutzerdefinierte Python-Module zu installieren, daher bin ich nicht daran gewöhnt, den Anweisungen zu folgen. Übersehe ich einen Schritt oder eine Art nicht offensichtliche (zumindest für mich) Nomenklatur?
hast du dafür am ende eine lösung gefunden? Ich bekomme das gleiche Problem
– Vinzenz
15. Dezember 2016 um 15:28 Uhr