Композитору не удалось запустить сценарий после установки
Я получаю следующую ошибку при попытке запустить скрипт bash в крючках после установки/обновления Composer:
> 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
Оригинальный композитор.json
Работает, но просто раздражает обновлять команды после установки/обновления для запуска в двух местах.
{
"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/",
...
...
]
}
}
Согласно документации композитора :
Сценарий, с точки зрения композитора, может быть либо обратным вызовом PHP (определяемым как статический метод), либо любой командной строкой исполняемая команда.
Так что мой composer.json
должен уметь работать как таковой:
Разыскиваемый композитор.json
{
"require": {
"twbs/bootstrap": "3.3.5"
...
...
},
"scripts": {
"post-install-cmd": [
"post-install.sh"
],
"post-update-cmd": [
"post-install.sh"
]
}
}
Post-install.sh
Исполняемый всеми (0775
) и расположенный в том же каталоге, что и composer.json
#!/bin/bash
mkdir -p _libraries
cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/
...
...
11
2 answers
8
Author: hek2mgl, 2017-05-23 11:47:11
Другим способом достижения единого определения задачи является ссылка на сценарии:
{
"require": {
"twbs/bootstrap": "3.3.5"
...
},
"scripts": {
"your-cmd": [
"mkdir -p _libraries",
"cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/",
...
],
"post-install-cmd": [
"@your-cmd",
...
],
"post-update-cmd": [
"@your-cmd",
...
]
}
}
7
Author: Wirone, 2017-02-01 09:35:11