В этой статье я рассказываю, как один раз прописать настройки для Composer, чтобы создавая проекты командой
composer init
нам не пришлось вписывать каждый раз все настройки.
Зачем
Я не люблю выполнять одну работу много раз, тем более что я программист и прекрасно знаю что с помощью автоматизации я могу избавить себя от повторяющихся действий.
Когда я создаю PHP проект утилитой Composer, то у меня начинает пригорать от того что я каждый раз ввожу вручную своё имя, Email, лицензию и так далее.
Это глупо, бессмысленно, тратит впустую моё время и в конце концов просто раздражает.
Что в идеале
По-хорошему, Composer должен был бы сохранить последние введённые значения, и при новых проектах подставлять то что запомнил, тогда я ввёл бы настройки всего один раз.
Но авторам Composer это в голову не пришло, поэтому имеем что имеем. Может быть это изменится в следующих версиях, кто его знает?
Как прописать настройки по умолчанию
К счастью, есть способ, не задокументированный, но рабочий.
Используя переменные окружения из командной оболочки, композер подставит значения по умолчанию.
Вот эти переменные:
COMPOSER_DEFAULT_AUTHOR
COMPOSER_DEFAULT_EMAIL
COMPOSER_DEFAULT_LICENSE
COMPOSER_DEFAULT_VENDOR
Чтобы добавить эти переменные в оболочку (консоль), для моей Ubuntu (WSL) я прописываю их в файле /home/nex/.bashrc
.
Этот скрипт выполняется каждый раз при старте оболочки bash
.
Добавляем следующие строки в .bashrc
, конечно значения вы меняете под себя:
# Composer defaults for new projects
export COMPOSER_DEFAULT_AUTHOR="Elon Musk"
export COMPOSER_DEFAULT_EMAIL="elon@musk.com"
export COMPOSER_DEFAULT_LICENSE="MIT"
export COMPOSER_DEFAULT_VENDOR="elon-musk"
Не забываем сохранить файл и выйти из оболочки, зайти в неё заново чтобы переменные были загружены в окружение оболочки.
Проверяем:
composer init
Теперь значения по умолчанию будут подставлены, останется нажать Enter и перейти на следующий пункт.