Рубрики
Uncategorized

Композитор, Трэвис и источник Баша

Сегодня я узнал, что композитор использует компонент процесса Symphony для выполнения команд оболочки de… Помечено как разработка, linux, php.

Сегодня я узнал, что Композитор использует компонент процесса симфонии для выполнения команд оболочки, определенных как Сценарии композитора . Это внутренне вызывает //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”