TGViewer
Пых Пых @phpyh · 7.83K subscribers
Post #81 1.39K
Недавно обновил vendor/package до 3.18.1, а там баг. Понятное дело, сразу создал тикет, но как быть в проекте, пока он не закрыт?

Первое, что приходит в голову, захардкодить в require версию 3.18.0. Это самый плохой вариант, потому что через какое-то время выйдет новая версия, там все пофиксят, добавят фич, а я так и буду сидеть на 3.18.0 даже после composer update. Это ещё и небезопасно, ведь так можно пропустить security patch. Это как нарушить open/closed — стандартное обновление не работает, а чтобы обновить нужно руками править composer.json.

Другой вариант — переписать ограничение в require на ^3.18, !=3.18.1, но, на мой взгляд, такую запись будет труднее воспринимать визуально. Кроме того, правило исключения в этой секции второстепенно.

Я предпочитаю добавлять проблемные версии в секцию conflict. Так я могу свободно менять глобальный констрейнт в require / require-dev и при необходимости точечно подправлять его в conflict.

{
"name": "vudaltsov/phpyh",
"require": {
"vendor/package": "^3.18"
},
"conflict": {
"vendor/package": "3.18.1"
}
}
getcomposer.org The composer.json schema - Composer A Dependency Manager for PHP
More from @phpyh
  1. Sep 30, 2026🍺 BeerPHP AI Moscow Кажется, «неделя PHP» потихоньку превращается в месяц PHP. 😅 Будет 2…
  2. Sep 28, 2026Запустили Пыхник и неделю PHP! Залетайте на первый открытый доклад от Дмитрия Dantes про к…
  3. Sep 15, 2026Сейчас один человек с AI может выполнять работу целого IT-отдела. Только хуёво
  4. Sep 12, 2026Спасибо за заявки! Всем напишу в понедельник. Осталось 1 место.
  5. Sep 11, 2026Хардкорный курс асинхронного PHP https://hardcourse.ru/php/async
  6. Sep 11, 2026Ещё полчасика надо — сайт готов, расписываю программу! 🙏
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →