Dostaję następujący błąd podczas próby uruchomienia skryptu bash w Kompozytor postu instalacji/aktualizacji haki:Kompozytor nie można uruchomić po zainstalowaniu skrypt
> 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
oryginalny composer.json
Działa, ale po prostu denerwuje się aktualizacja poleceń po instalacji/aktualizacji, które działają w dwóch miejscach.
{
"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/",
...
...
]
}
}
Według Composer documentation:
scenariuszem, w warunkach kompozytora może być albo zwrotnego PHP (zdefiniowaną jako metoda statyczna) lub jakąkolwiek polecenia wiersza wykonywalnego.
więc moja composer.json
powinien móc pracować jako takiej:
poszukiwanych composer.json
{
"require": {
"twbs/bootstrap": "3.3.5"
...
...
},
"scripts": {
"post-install-cmd": [
"post-install.sh"
],
"post-update-cmd": [
"post-install.sh"
]
}
}
post-install.sh
wykonywalny przez wszystkich (0775
) i znajduje się w tym samym katalogu, co kompozycje er.json
#!/bin/bash
mkdir -p _libraries
cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/
...
...
zrobiłeś 'po install.sh' wykonywalny? (np. 'chmod 0755 post-install.sh') Mówisz, że tak, ale pomyślałem, że to potwierdzę. W jaki sposób jest on realizowany przez Composer? To wywołanie go przez jakieś wywołanie 'php'? –
@ DavidC.Rankin Tak, to plik wykonywalny. Skrypt bash nie jest wykonywany przez Composer. (Nie jestem pewien, o co tutaj prosisz) – grim
Jak powinien znaleźć ten skrypt autor? – hek2mgl