Сегодня я узнал, что Композитор использует компонент процесса симфонии для выполнения команд оболочки, определенных как Сценарии композитора . Это внутренне вызывает //proc_open() который “открывает процесс путем создания двунаправленного канала, разветвления и вызова оболочки”.
У меня был сбой этого скрипта на сборке Travis с Ubuntu 14.04.5 LTS и PHP 5.6 :
{
"scripts": {
"test": "source scripts/test.sh"
}
}
со следующей ошибкой:
sh: 1: source: not found
Оказывается, что /bin/ш на Ubuntu Trusty – это символическая ссылка на /bin/dash :
$ ls -lah /bin/sh lrwxrwxrwx 1 root root 4 Feb 19 2014 /bin/sh -\> dash
И команда source является встроенной в bash , которая просто недоступна в dash. Решение состоит в том, чтобы заменить все экземпляры источника something.sh с . something.sh (обратите внимание на пробел между точкой и именем файла сценария).
Оригинал: “https://dev.to/kasparsd/composer-travis-and-bash-source-3e2c”