Volta менеджер инструментов для JavaScript
Volta — это менеджер инструментов для JavaScript / Node.js, который упрощает работу с разными версиями Node и связанных инструментов.
Volta написан на Rust и поставляется как статический бинарный файл, что делает его быстрым и кроссплатформенным.
Ключевые особенности Volta:
- Автоматическое переключение версий инструментов в зависимости от проекта — не нужно вручную вызывать
useкаждый раз. - Возможность закреплять версии инструментов на уровне проекта (pin).
- Поддержка разных package-менеджеров (npm, Yarn) и привязка их версии к проекту.
- Кроссплатформенность: работает на Windows, macOS, Linux
- Инструменты “контекстно-чувствительные”: если ты запускаешь
node,yarnилиtsc, Volta автоматически подберёт правильную версию для текущей папки.
Почему может быть лучше, чем nvm / аналогичные инструменты
Volta предлагает несколько удобств, которые выделяют его:
- Не требует “включения” версии через
volta use— при переходе в папку с проектом он сам “понимает”, какую версию использовать. - Автозагрузка инструментов: если проект использует версию Node или Yarn, которую ты ещё не установил локально, Volta её подтянет при первой попытке запуска.
- Управление глобальными инструментами, но с “контекстным делегированием”: глобально установленные инструменты (например,
typescript) будут подменяться на версию проекта, если она закреплена. - Одно решение для Node + пакетных менеджеров + глобальных инструментов — меньший “разброс” инструментов на машине.
Конечно, есть случаи, где nvm или другие инструменты уже привычны и хорошо работают. Но Volta даёт “всё в одном” и упрощает многие рутинные задачи.
Как начать использовать Volta
Вот базовый путь:
- Установить Volta:
curl https://get.volta.sh | bash
- (на сайте Volta есть инструкция)
- Установить Node:
volta install node
- Использовать Node как обычно:
node --version
- Закреплять (pin) версии инструментов в проекте:
volta pin node@20 # закрепить версию Node 20 volta pin npm@9 # закрепить версию npm 9 volta pin yarn@1.22 # если используешь Yarn
- Это добавит соответствующие записи в твой
package.json. docs.volta.sh - Когда ты заходишь в папку проекта, Volta автоматически подберёт нужные версии Node/npm/Yarn без твоего вмешательства.
На что обратить внимание / ограничения
- Пока что для изменения “глобальной” версии инструмента (если не проект) единственный способ —
volta install node@версия. volta pinработает только для Node и пакетных менеджеров (npm, Yarn).- Во взаимодействии с уже существующими инструментами (nvm, asdf и др.) может быть “перекрытие” поведения — стоит выбирать одно решение и придерживаться его.
- Нужно следить за тем, чтобы окружение (PATH, shell) было настроено так, чтобы Volta “влезал” перед другими версиями Node.