Vite требует установленной среды выполнения Node.js, поскольку вся экосистема сборки, dev-сервера и обработки зависимостей основана на Node API. Минимально поддерживаемая версия Node.js обычно определяется текущим релизом Vite, но на практике используется актуальная LTS-ветка, так как именно она гарантирует совместимость с современными пакетами и инструментами экосистемы npm.
Перед установкой важно понимать, что Vite не является классическим глобальным сборщиком. Он не предполагает установку через глобальный npm-пакет для повседневной разработки. Основной сценарий работы — создание проекта через шаблон, после чего Vite используется как локальная зависимость внутри проекта.
Перед началом работы критично убедиться в доступности базовых инструментов:
Проверка версий выполняется через команды:
node -v
npm -v
При использовании Yarn:
yarn -v
При использовании pnpm:
pnpm -v
Ключевой момент заключается в том, что Vite активно использует современные возможности ES-модулей, поэтому устаревшие версии Node.js приводят к ошибкам на этапе установки или запуска dev-сервера.
Наиболее распространённый способ установки Vite — использование npm
через официальный scaffolding-инструмент create-vite.
Базовая команда:
npm create vite@latest
При выполнении запускается интерактивный процесс, в ходе которого задаются параметры:
Альтернативный вариант без интерактивного режима:
npm create vite@latest my-app -- --template vanilla
Важно учитывать двойной дефис --, который отделяет
аргументы npm от аргументов create-vite.
После генерации структуры проекта выполняется установка зависимостей:
cd my-app
npm install
Запуск dev-сервера:
npm run dev
Внутри создаваемого проекта автоматически формируется стандартный набор:
package.jsonvite.config.js (или ts)index.htmlsrcYarn поддерживает аналогичный механизм через
create-vite. Поведение идентично npm, однако отличается
менеджер пакетов и формат lock-файла.
Создание проекта:
yarn create vite
Или с явным указанием шаблона:
yarn create vite my-app --template react
После генерации проекта:
cd my-app
yarn
Запуск dev-сервера:
yarn dev
Особенность Yarn заключается в более агрессивном кэшировании зависимостей и оптимизации установки, что особенно заметно в проектах с большим количеством пакетов.
pnpm является наиболее строгим и эффективным менеджером пакетов с точки зрения дискового пространства и структуры node_modules. Vite полностью совместим с pnpm и часто используется в крупных проектах и монорепозиториях.
Создание проекта:
pnpm create vite
С указанием шаблона:
pnpm create vite my-app --template vue
Установка зависимостей:
cd my-app
pnpm install
Запуск dev-сервера:
pnpm run dev
Особенность pnpm заключается в использовании жёстких ссылок и центрального хранилища пакетов, что уменьшает дублирование зависимостей и ускоряет установку.
yarn.lock)После выполнения команды создания проекта формируется стандартная структура, которая остаётся общей для всех менеджеров пакетов:
my-app/
├── index.html
├── package.json
├── vite.config.js
├── src/
│ ├── main.js
│ └── style.css
└── node_modules/
Ключевая особенность Vite заключается в том, что
index.html находится в корне проекта и является частью
графа модулей, а не просто статическим файлом.
Хотя основной способ — использование create-vite, Vite может быть установлен напрямую как dev dependency:
npm install -D vite
Аналогично для Yarn:
yarn add -D vite
И для pnpm:
pnpm add -D vite
После этого требуется ручная настройка структуры проекта, включая создание:
index.htmlsrc/main.jsvite.config.jsИ добавление скриптов в package.json:
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
}
}
Этот способ чаще используется в уже существующих проектах, которые мигрируют на Vite.
Без установки глобальных пакетов возможно использование:
npx create-vite@latest my-app
или
npm exec create-vite@latest my-app
npx загружает пакет временно, выполняет генерацию проекта и не требует глобальной установки create-vite.
Этот подход полезен для одноразовой инициализации проектов или тестирования шаблонов.
Vite поддерживает набор официальных шаблонов, которые выбираются на этапе создания проекта:
Пример установки React-шаблона:
npm create vite@latest my-react-app -- --template react
TypeScript-версия:
npm create vite@latest my-react-app -- --template react-ts
Шаблоны определяют стартовую конфигурацию сборки, структуру
src и подключение плагинов.
После создания проекта ключевым этапом становится управление зависимостями. Vite не диктует конкретный пакетный стек, но предполагает использование современных ESM-библиотек.
Добавление пакета:
npm install axios
или
pnpm add axios
или
yarn add axios
Добавление dev-зависимости:
npm install -D eslint
Vite автоматически отслеживает изменения в node_modules
в режиме разработки благодаря ES-модулям и не требует полной пересборки
при каждом изменении.
При использовании pnpm или Yarn Workspaces установка Vite может быть частью монорепозитория.
Пример структуры:
repo/
├── packages/
│ ├── app/
│ └── ui/
├── package.json
└── pnpm-workspace.yaml
Установка Vite внутри пакета:
pnpm --filter app add -D vite
Такой подход позволяет изолировать сборку каждого приложения и управлять версиями зависимостей централизованно.
Проявляется ошибками при запуске dev-сервера или установке зависимостей. Решение — обновление Node.js до LTS-версии.
При смешивании npm, yarn и pnpm могут возникать конфликты
package-lock.json, yarn.lock,
pnpm-lock.yaml. Используется только один менеджер пакетов
на проект.
Часто встречаются при глобальной установке пакетов, хотя Vite не требует глобальной установки.
Файл package.json является центральной точкой
конфигурации:
Минимальный пример после установки:
{
"name": "my-app",
"private": true,
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"devDependencies": {
"vite": "^x.x.x"
}
}
Vite всегда устанавливается как локальная dev-зависимость, что обеспечивает:
Локальная установка делает процесс сборки предсказуемым и независимым от окружения системы.