#php #composer-php
#php #composer-php
Вопрос:
Мой usecase:
Я хочу установить auth0/login
пакет, только если .env
указано AUTH_PROVIDER=auth0
иное, нам не нужно устанавливать auth0login
.
Возможно ли это? если это возможно, каков правильный способ?
Ответ №1:
Единственный способ «условно» устанавливать пакеты — это require-dev
ключ.
Но, похоже, это не auth0/login
пакет разработчика для вас, так что это не сработает.
Все, что указано в качестве требования, composer.json
установлено, и наличие его любым другим способом может сбить с толку пользователей проекта.
Если бы было возможно то, что вы предлагаете, изменение .env
потребовало бы переустановки проекта… это не то, чего можно было бы ожидать: .env
содержит конфигурацию во время выполнения и composer.json
сохраняет конфигурацию во время сборки.
Извините, но то, что вы хотите сделать, невозможно, и это плохая идея.
Если пакет используется в некоторых конфигурациях во время выполнения, это жесткое требование, и его следует установить. Если в некоторых конфигурациях или сценариях не используется, все в порядке.