HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><strong><a>Появилась</a>новая версия менеджера зависимостей PHP Composer 2.0 - первое полноценное обновление сервиса с момента его выхода в 2012 году. Подробно рассказываем, какие обновления менеджера вошли в этот релиз.</strong></p>
1 <p><strong><a>Появилась</a>новая версия менеджера зависимостей PHP Composer 2.0 - первое полноценное обновление сервиса с момента его выхода в 2012 году. Подробно рассказываем, какие обновления менеджера вошли в этот релиз.</strong></p>
2 <h2>Улучшение производительности</h2>
2 <h2>Улучшение производительности</h2>
3 <p>Разработчики кардинально переработали Composer - начиная от протокола взаимодействия между Composer и packagist.org, заканчивая параллельным скачиванием файлов с помощью curl. Это значительно улучшило скорость работы и снизило потребление памяти. Конкретный прирост производительности зависит от способа использования Composer, но разработчики обещают, что пользователи утилиты будут приятно удивлены изменениями.</p>
3 <p>Разработчики кардинально переработали Composer - начиная от протокола взаимодействия между Composer и packagist.org, заканчивая параллельным скачиванием файлов с помощью curl. Это значительно улучшило скорость работы и снизило потребление памяти. Конкретный прирост производительности зависит от способа использования Composer, но разработчики обещают, что пользователи утилиты будут приятно удивлены изменениями.</p>
4 <p>Разработчики указывают, что запуск composer require laravel/laravel на обычном потребительском оборудовании с Composer 2 при пустом кэше теперь тратит до 60% меньше времени, чем предыдущая версия менеджера.</p>
4 <p>Разработчики указывают, что запуск composer require laravel/laravel на обычном потребительском оборудовании с Composer 2 при пустом кэше теперь тратит до 60% меньше времени, чем предыдущая версия менеджера.</p>
5 <h2>Архитектурные изменения в загрузке и установке улучшений</h2>
5 <h2>Архитектурные изменения в загрузке и установке улучшений</h2>
6 <p>Во время установки или обновления все пакеты будут сначала блокироваться и обновляться в composer.lock, и только после этого загружаться в кэш - при этом возможны ситуации, при которых эти процессы будут происходить параллельно. После того, как все файлы будут успешно загружены, Composer извлечет их в каталог vendor-dir - это позволит избежать не полного обновления каталога vendor в случае ошибки в работе интернета, либо других локальных проблем в работе пакета.</p>
6 <p>Во время установки или обновления все пакеты будут сначала блокироваться и обновляться в composer.lock, и только после этого загружаться в кэш - при этом возможны ситуации, при которых эти процессы будут происходить параллельно. После того, как все файлы будут успешно загружены, Composer извлечет их в каталог vendor-dir - это позволит избежать не полного обновления каталога vendor в случае ошибки в работе интернета, либо других локальных проблем в работе пакета.</p>
7 <h2>Улучшенные отчеты об ошибках</h2>
7 <h2>Улучшенные отчеты об ошибках</h2>
8 <p>Не всегда всё идет так, как мы ожидаем. Если не удаётся разрешить зависимости, новый Composer генерирует более короткие и точные отчёты об ошибках, чтобы вам было проще в них разобраться.</p>
8 <p>Не всегда всё идет так, как мы ожидаем. Если не удаётся разрешить зависимости, новый Composer генерирует более короткие и точные отчёты об ошибках, чтобы вам было проще в них разобраться.</p>
9 <h2>Как обновить Composer?</h2>
9 <h2>Как обновить Composer?</h2>
10 <p>Если у вас установлен Composer 1.x, запуск команды composer self-update лишь предупредит о выходе новой стабильной версии. Для обновления запустите команду composer self-update --2.</p>
10 <p>Если у вас установлен Composer 1.x, запуск команды composer self-update лишь предупредит о выходе новой стабильной версии. Для обновления запустите команду composer self-update --2.</p>
11 <p>При возникновении проблем есть возможность откатиться обратно до первой версии менеджера при помощи команды composer self-update --1. Можно спокойно экспериментировать с новой версией и не бояться что-нибудь сломать. Файл composer.lock совместим с обеими версиями, поэтому и с ним проблем при обновлении и откате на предыдущую версию не будет.</p>
11 <p>При возникновении проблем есть возможность откатиться обратно до первой версии менеджера при помощи команды composer self-update --1. Можно спокойно экспериментировать с новой версией и не бояться что-нибудь сломать. Файл composer.lock совместим с обеими версиями, поэтому и с ним проблем при обновлении и откате на предыдущую версию не будет.</p>
12 <p>Разработчики также отмечают, что главной проблемой при обновлении версии менеджера могут стать плагины, часть которых еще не поддерживают Composer 2. В случае, если некоторые плагины не поддерживают новую версию менеджера, их можно отключить перед установкой. Делается это при помощи команды composer --no-plugins.</p>
12 <p>Разработчики также отмечают, что главной проблемой при обновлении версии менеджера могут стать плагины, часть которых еще не поддерживают Composer 2. В случае, если некоторые плагины не поддерживают новую версию менеджера, их можно отключить перед установкой. Делается это при помощи команды composer --no-plugins.</p>
13 <h2>Что дальше?</h2>
13 <h2>Что дальше?</h2>
14 <p>Composer по-прежнему поддерживает PHP 5.3 и выше, однако в дальнейшем разработчики собираются отказаться от поддержки версий EOL PHP. Composer 1.x будет получать критические обновления какое-то время, но лучше обновиться до Composer 2.0 как можно скорее.</p>
14 <p>Composer по-прежнему поддерживает PHP 5.3 и выше, однако в дальнейшем разработчики собираются отказаться от поддержки версий EOL PHP. Composer 1.x будет получать критические обновления какое-то время, но лучше обновиться до Composer 2.0 как можно скорее.</p>
15 <blockquote><h2>Настройка Composer:</h2>
15 <blockquote><h2>Настройка Composer:</h2>
16 <p>В<a>профессии PHP-разработчик</a>на Хекслете есть несколько уроков, где мы подробно разбираем, как настроить Composer и<a>как вообще с ним работать</a>.</p>
16 <p>В<a>профессии PHP-разработчик</a>на Хекслете есть несколько уроков, где мы подробно разбираем, как настроить Composer и<a>как вообще с ним работать</a>.</p>
17 </blockquote>
17 </blockquote>