sto ottenendo il seguente errore quando si tenta di eseguire uno script bash in post Compositore installare ganci/aggiornamento:compositore in grado di eseguire posta script di installazione
> post-install.sh
sh: 1: post-install.sh: not found
Script post-install.sh handling the post-install-cmd event returned with an error
[RuntimeException]
Error Output: sh: 1: post-install.sh: not found
composer.json originale
Funziona ma è solo fastidioso aggiornare i comandi post installazione/aggiornamento per l'esecuzione in due punti.
{
"require": {
"twbs/bootstrap": "3.3.5"
...
...
},
"scripts": {
"post-install-cmd": [
"mkdir -p _libraries",
"cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/",
...
...
],
"post-update-cmd": [
"mkdir -p _libraries",
"cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/",
...
...
]
}
}
Secondo il Composer documentation:
Uno script, in termini di compositore, può essere sia un callback PHP (definito come un metodo statico) o qualsiasi comando di riga di comando eseguibile.
Quindi il mio composer.json
dovrebbe essere in grado di lavorare come tale:
composer.json Ricercato
{
"require": {
"twbs/bootstrap": "3.3.5"
...
...
},
"scripts": {
"post-install-cmd": [
"post-install.sh"
],
"post-update-cmd": [
"post-install.sh"
]
}
}
post-install.sh
eseguibile da tutti (0775
) e si trova nella stessa directory del compos er.json
#!/bin/bash
mkdir -p _libraries
cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/
...
...
hanno assegnato 'eseguibile post-install.sh'? (ad es. 'chmod 0755 post-install.sh') Dici che lo è, ma ho solo pensato di confermarlo. Inoltre, come viene eseguito da Composer? Lo chiama con qualche chiamata 'php'? –
@ DavidC.Rankin Sì è eseguibile. Lo script di bash non viene eseguito da Composer. (Non sono sicuro di cosa stai chiedendo qui) – grim
Come dovrebbe il compositore trovare quello script? – hek2mgl