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>