Vercel автоматически переключает новые проекты на pnpm v10: что нужно знать
Vercel теперь автоматически использует pnpm v10 для новых проектов, если в файле pnpm-lock.yaml указан lockfileVersion: '9.0'. Это изменение упрощает развёртывание для разработчиков, которые уже перешли на десятую версию, и не затрагивает существующие проекты, продолжающие работать на pnpm v9. Платф

Vercel теперь автоматически использует pnpm v10 для новых проектов, если в файле pnpm-lock.yaml указан lockfileVersion: '9.0'. Это изменение упрощает развёртывание для разработчиков, которые уже перешли на десятую версию, и не затрагивает существующие проекты, продолжающие работать на pnpm v9. Платформа анализирует lockfileVersion при первом деплое, чтобы определить нужную версию менеджера пакетов.
Как работает автоматическое определение версии pnpm
Ранее Vercel по умолчанию применял pnpm v9 для всех проектов. Теперь платформа проверяет lockfileVersion в pnpm-lock.yaml. Если он равен '9.0', новый проект автоматически получает pnpm v10. Это решение основано на том, что pnpm v9 и v10 используют одинаковый формат lockfile с версией '9.0', поэтому Vercel не может полагаться только на этот параметр. Вместо этого платформа проверяет, является ли проект новым (то есть не было предыдущих деплоев). Если проект новый и lockfileVersion равен '9.0', применяется pnpm v10. Для существующих проектов сохраняется версия, которая использовалась при первом деплое. Это обеспечивает обратную совместимость и предотвращает неожиданные ошибки.
Как узнать, какая версия pnpm используется в моём деплое?
Разработчики могут посмотреть версию pnpm в логах сборки конкретного деплоя на Vercel. В логах отображается, какая версия pnpm была использована. Если проект был создан до объявления поддержки v10, он по умолчанию использует pnpm v9. Чтобы принудительно обновить или понизить версию, нужно использовать Corepack — встроенный в Node.js инструмент для управления менеджерами пакетов. Достаточно указать нужную версию в поле packageManager файла package.json. Например, для pnpm v10 это будет "packageManager": "pnpm@10.0.0".
Почему Vercel сделал это изменение
pnpm — популярный менеджер пакетов для JavaScript, известный своей эффективностью и скоростью. Версия 10 вышла в начале 2025 года и принесла множество улучшений: более строгую проверку зависимостей, оптимизацию работы с монорепозиториями и новые возможности для управления версиями Node.js. Vercel, как одна из ведущих платформ для развёртывания фронтенд-проектов, стремится поддерживать актуальные инструменты. Ранее поддержка pnpm v10 была экспериментальной, теперь она стала автоматической для новых проектов. Это изменение в первую очередь касается разработчиков, которые создают новые проекты на Vercel и используют pnpm. Они автоматически получат pnpm v10 без дополнительных настроек. Разработчики, уже работающие над существующими проектами, ничего не заметят — их сборки продолжат использовать pnpm v9. Однако если они захотят перейти на v10, им нужно явно указать версию через Corepack. В российском и СНГ-сообществе Vercel активно используется для хостинга Next.js и других фронтенд-проектов, поэтому новость актуальна для многих команд.
Технические детали и ограничения
Автоматическое определение версии pnpm основано на анализе lockfileVersion в pnpm-lock.yaml. pnpm v9 и v10 используют одинаковый формат lockfile с версией '9.0', поэтому Vercel не может полагаться только на этот параметр. Вместо этого платформа проверяет, является ли проект новым (то есть не было предыдущих деплоев). Если проект новый и lockfileVersion равен '9.0', применяется pnpm v10. Для существующих проектов сохраняется версия, которая использовалась при первом деплое. Это обеспечивает обратную совместимость и предотвращает неожиданные ошибки. Важно отметить, что если вы создаёте новый проект, но вручную установили pnpm v9 через Corepack, Vercel всё равно может использовать pnpm v10, если lockfileVersion равен '9.0'. Чтобы избежать этого, рекомендуется явно указать версию pnpm в package.json.
Что будет дальше
Vercel продолжает совершенствовать поддержку инструментов разработки. В будущем можно ожидать, что платформа начнёт поддерживать и другие версии pnpm, возможно, с более гибкой конфигурацией. Разработчикам рекомендуется следить за обновлениями документации Vercel по менеджерам пакетов и своевременно обновлять свои проекты до pnpm v10, чтобы воспользоваться новыми возможностями. Также стоит обратить внимание на то, что pnpm v10 может требовать более новую версию Node.js, поэтому перед обновлением проверьте совместимость.
Итог
Vercel упростил жизнь разработчикам, внедрив автоматическое определение pnpm v10 для новых проектов. Это небольшое, но важное улучшение, которое сокращает время на настройку окружения и позволяет быстрее переходить на новые версии инструментов. Если вы начинаете новый проект на Vercel с pnpm — проверьте, что lockfileVersion в pnpm-lock.yaml равен '9.0', и вы получите v10 автоматически. Для существующих проектов обновление остаётся на усмотрение разработчика через Corepack.