Ich versuche, Post-Installation und Post-Update-Skripte in einem Composer-Paket arbeiten. Hier ist ein Auszug aus der composer.json
Datei:PHP Composer-Skripte werden nicht ausgelöst
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"scripts": {
"post-update-cmd": [
"App\\Install\\ComposerScripts::postUpdate"
],
"post-install-cmd": [
"App\\Install\\ComposerScripts::postInstall",
"./test.sh"
]
}
Und hier ist ComposerScripts.php
:
<?php
namespace App\Install;
use Composer\Script\Event;
class ComposerScripts
{
public static function postInstall(Event $event)
{
$io = $event->getIO();
if ($io->askConfirmation('Install Mecab? ', false)) {
return true;
}
exit;
}
public static function postUpdate(Event $event)
{
$event->getIO()->write("Working!");
return true;
}
}
Und die Datei test.sh
:
#!/bin/sh
echo Working
Die ComposerScripts Methoden funktionieren, wenn ich sie mit composer run-script
testen und Das Skript test.sh
funktioniert einwandfrei, aber wenn ich das Paket installiere oder aktualisiere, passiert gar nichts. Keine Ausgabe, kein Fehler, nichts. Irgendeine Idee, was hier vor sich geht?
So wie eine Plausibilitätsprüfung, genau das, was Befehle, die Sie das Paket installieren oder zu aktualisieren, ausgeführt werden? –