В этой статье я рассказываю, как один раз прописать настройки для 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 и перейти на следующий пункт.