Глобальный CLI
Глобальный CLI представляет собой автономный бинарный файл vp для управления рантаймами и пакетами на уровне машины. Он включает инструментарий Vite+, не требует предварительной установки Node.js и может использоваться без добавления vite-plus в проект.
Выбирайте глобальный CLI, если хотите иметь одну доступную во всех проектах команду для любой комбинации следующих задач:
- управление версиями Node.js и менеджеров пакетов;
- выбор и загрузка менеджеров пакетов;
- установка зависимостей и запуск бинарных файлов пакетов;
- запуск скриптов из
package.jsonи кэшированных задач рабочего пространства; - использование фронтенд-инструментария Vite+ без необходимости закреплять его в каждом проекте.
Установка глобального CLI не требует перехода на локальный пакет проекта. Вы можете использовать его только для управления рантаймом, пакетами и запуска задач, если этого достаточно.
Установка
curl -fsSL https://vite.plus | bashirm https://vite.plus/ps1 | iexВ Windows вместо этого можно скачать и запустить vp-setup.exe.
После установки откройте новую оболочку и выполните:
vp helpЕсли во время установки вы включили управление окружением, Vite+ включает управляемый режим для Node.js и шимов npm, pnpm, Yarn и Bun. Выполните vp env off, чтобы отдавать предпочтение системным инструментам, или ограничьте изменение областью с помощью vp env off node или vp env off pm.
Переменные окружения и параметры установщика
Установщики Vite+ (vp-setup.exe, install.ps1 и install.sh) и установленный CLI vp считывают приведённые ниже переменные окружения.
Переменные установки
Эти переменные управляют работой сценариев установки и автономного установщика для Windows (vp-setup.exe).
VP_VERSION
Назначение: версия для установки
По умолчанию:
latestЭквивалент в CLI:
--versionПримечание: Vite+ 0.2.x и более ранние версии не поддерживают раздельную структуру каталогов. Установщик всегда размещает эти версии в монолитном корневом каталоге (
VP_HOMEили~/.vite-plus). Это правило также применяется при установке на чистую машину. Установщик проверяет загруженный бинарный файл и выводит соответствующее уведомление.Пример:
bash# Unix curl -fsSL https://vite.plus | VP_VERSION=1.2.3 bashpowershell# PowerShell $env:VP_VERSION = "1.2.3"; irm https://vite.plus/ps1 | iex
VP_HOME
Назначение: необязательный параметр для закрепления единого корневого каталога. Укажите абсолютный путь. В этом случае Vite+ размещает
bin,data,cache,configиstateв указанном каталоге. Установленный CLI также использует эту переменную. См. раздел Окружение.По умолчанию: не задано. Vite+ повторно использует существующую установку в
~/.vite-plusв Unix или%USERPROFILE%\.vite-plusв Windows. Каталог должен содержать ссылкуcurrent. В противном случае новая установка использует разделённую структуру каталогов для конкретной платформы. В Unix используются~/.local/share/vite-plusи принадлежащий Vite+ подкаталогbin. В Windows используются%LOCALAPPDATA%\vite-plus\dataи%LOCALAPPDATA%\vite-plus\bin.Пример:
bash# Unix curl -fsSL https://vite.plus | VP_HOME=/opt/vite-plus bashpowershell# PowerShell $env:VP_HOME = "D:\vite-plus"; irm https://vite.plus/ps1 | iex
VP_BIN_DIR / VP_DATA_DIR / VP_CACHE_DIR
Назначение: Внутренние переопределения абсолютных каталогов для интеграций, которым необходимо зафиксировать раздельную установку. Установите все три переменные одновременно. Установщик отклоняет неполный набор. Vite+ игнорирует этот набор, если задан
VP_HOMEили если используется существующая установка в~/.vite-plus.По умолчанию: не задано (используются значения по умолчанию XDG / платформы)
Сохранение: Сгенерированный файл окружения не экспортирует эти переменные. Интеграция, использующая их, должна передавать полный набор переменных каждому процессу Vite+.
Пример:
bashexport VP_DATA_DIR=$HOME/vite-plus-data export VP_BIN_DIR=$VP_DATA_DIR/bin export VP_CACHE_DIR=$HOME/.cache/vite-plus curl -fsSL https://vite.plus | bash
NPM_CONFIG_REGISTRY
- Назначение: URL пользовательского реестра npm
- По умолчанию:
https://registry.npmjs.org - Эквивалент в CLI:
--registry - Пример:bash
curl -fsSL https://vite.plus | NPM_CONFIG_REGISTRY=https://registry.npmmirror.com bash
VP_NODE_MANAGER
- Назначение: управляет настройкой менеджера версий Node.js во время установки.
- Значения:
yesилиno - По умолчанию: определяется автоматически
- Эквивалент в CLI:
--no-node-manager(инвертированная логика) - Пример:bash
# Пропускаем настройку менеджера версий Node.js в CI curl -fsSL https://vite.plus | VP_NODE_MANAGER=no bash
VP_PM_MANAGER
- Назначение: задаёт предпочтение по управлению для всех четырёх семейств менеджеров пакетов: npm, pnpm, Yarn и Bun.
- Значения:
yes— использовать управление через Vite+;no— отдавать предпочтение системным инструментам, используя управляемые инструменты как запасной вариант, если системный инструмент недоступен. - По умолчанию: не задано. Выбор Node.js и менеджера пакетов, сделанный установщиком, остаётся значением по умолчанию. При использовании установщиков-скриптов установка только
VP_NODE_MANAGERсохраняет существующие предпочтения для менеджеров пакетов.
VP_NPM_MANAGER / VP_PNPM_MANAGER / VP_YARN_MANAGER / VP_BUN_MANAGER
Назначение: задаёт предпочтение по управлению для отдельного семейства менеджеров пакетов. Каждая переменная переопределяет
VP_PM_MANAGERдля соответствующего семейства.Значения:
yesилиno, с тем же смыслом, что и дляVP_PM_MANAGER.По умолчанию: не задано (используется
VP_PM_MANAGER, затем выбор установщика для Node.js и менеджера пакетов или сохраняется существующее предпочтение).Пример:
bash# Оставить системные Node.js и менеджеры пакетов, но поручить Vite+ управление pnpm. curl -fsSL https://vite.plus | VP_NODE_MANAGER=no VP_PM_MANAGER=no VP_PNPM_MANAGER=yes bash
Эти переменные управления являются параметрами установки и сохраняются в конфигурации Vite+. Интерактивный запрос по-прежнему управляет как Node.js, так и менеджерами пакетов; явно заданные переменные для менеджеров пакетов переопределяют этот общий выбор. Автономный установщик vp-setup использует свой существующий общий параметр как значение по умолчанию для обеих переменных — как при интерактивной, так и при тихой установке. Обновления существующей установки сохраняют сохранённые параметры. Нераспознанные значения игнорируются. Эти переменные определяют режим управления, а не версии менеджеров пакетов, и не препятствуют установщику создавать шимы. Старые версии, установленные через устаревший установщик, сохраняют своё исходное поведение.
VP_PR_VERSION
- Назначение: устанавливает предварительную сборку из пулреквеста или по SHA коммита
- Значения: номер PR или SHA коммита
- По умолчанию: отсутствует
- Подробнее: Предварительная сборка глобальной
vp
Переменные для разработки
Используйте VP_LOCAL_TGZ и VP_LOCAL_BINARY при разработке самого Vite+. VP_LOCAL_TGZ указывает на локальный файл vite-plus.tgz. VP_LOCAL_BINARY указывает на локальный бинарный файл vp. Установщики используют эти файлы для локальной сборки. Они используют VP_DUMP_DIRS=1, чтобы получить режим структуры каталогов и корневые каталоги всех пяти категорий EnvConfig из выбранного бинарного файла. Они не разрешают переменные каталогов. Установщики устанавливают VP_INSTALL_STOP; не устанавливайте её вручную.
Переменные среды выполнения
Эти переменные настраивают установленную CLI Vite+. Переменная VP_HOME (описанная выше) также используется во время выполнения.
VP_NODE_DIST_MIRROR
- Назначение: URL зеркала дистрибутивов Node.js
- По умолчанию:
https://nodejs.org/dist - Подробнее: Пользовательское зеркало Node.js
VP_NODE_VERSION
- Назначение: переопределяет версию Node.js
- По умолчанию: отсутствует (определяется автоматически)
- Пример:bash
# Выполняем команду с заданной версией Node.js VP_NODE_VERSION=22 vp env exec node -v
VP_PACKAGE_MANAGER
- Назначение: переопределить выбранный менеджер пакетов и его версию
- По умолчанию: отсутствует (определяется из конфигурации проекта или глобальной версии по умолчанию)
- Формат:
npm|pnpm|yarn|bun@<version> - Пример:bash
VP_PACKAGE_MANAGER=pnpm@10.18.0 vp install
VP_NODE_SKIP_SIGNATURE_VERIFY
- Назначение: пропускает проверку PGP-подписи загружаемых файлов Node.js
- Значения: любое непустое значение
- По умолчанию: отсутствует (проверка включена)
- Подробнее: Проверка подписи Node.js
VP_DOWNLOAD_TIMEOUT
- Назначение: тайм-аут для каждого запроса в секундах при загрузке больших файлов, таких как среды выполнения Node.js и tarball-архивы пакетных менеджеров
- Значения: положительное целое число, не более
86400(24 часа); недопустимые значения игнорируются с предупреждением - По умолчанию:
600(10 минут) - Пример:bash
# Разрешить до 30 минут на одну загрузку при медленном соединении VP_DOWNLOAD_TIMEOUT=1800 vp env install 22
VP_SHELL
- Назначение: указывает текущую оболочку
- По умолчанию: определяется автоматически
- Пример:bash
VP_SHELL=bash vp env print
VP_BYPASS
- Назначение: обходит shim Vite+ и использует системный инструмент
- Значения: список каталогов в формате
PATH, которые нужно обойти - По умолчанию: отсутствует
- Пример:bash
VP_BYPASS=/usr/local/bin node -v
Внутренние переменные
Vite+ устанавливает дополнительные переменные VP_* во время обработки вызовов через shim и интеграции с оболочкой (защита от рекурсии, записи активных версий, флаги обёрток); не устанавливайте их вручную.
Настройка TLS/CA
SSL_CERT_FILE / NODE_EXTRA_CA_CERTS
- Назначение: путь к PEM-набору дополнительных сертификатов центра сертификации (
NODE_EXTRA_CA_CERTS— соглашение Node.js) - По умолчанию: системное хранилище доверенных сертификатов
- Пример:bash
export SSL_CERT_FILE=/path/to/custom-ca.pem
VP_INSECURE_TLS
- Назначение: отключает проверку HTTPS-сертификатов
- Значения: любое непустое значение (
1,true,yes) - По умолчанию: отсутствует (проверка включена)
- Предупреждение: использовать только как диагностический обходной путь; не применяйте в продакшене
- Пример:bash
VP_INSECURE_TLS=1 vp env install 22
Логирование и отладка
VP_LOG
- Назначение: строка фильтрации логов для
tracing_subscriber - Поведение установщика: при
CI=trueфайлinstall.shскрывает ошибки оболочки. УстановитеVP_LOG=trace, чтобы отображать эти ошибки. - По умолчанию: отсутствует
- Пример:bash
VP_LOG=debug vp dev VP_LOG=vt=trace vp build
VP_DEBUG_SHIM
- Назначение: включает отладочный вывод для обработки вызовов через shim
- Значения: любое непустое значение
- По умолчанию: отсутствует
- Пример:bash
VP_DEBUG_SHIM=1 node -v
Стандартные переменные окружения
Vite+ также учитывает следующие стандартные переменные окружения:
Nushell и каталоги XDG
Если вы настраиваете XDG_DATA_HOME или XDG_CONFIG_HOME, задайте их до запуска Nushell через терминальное приложение, операционную систему или родительскую оболочку. Это требование Nushell при запуске; установка этих переменных только в config.nu или env.nu не настраивает каталоги запуска для текущей сессии.
Назначения в этих файлах по-прежнему влияют на дочерние процессы. Установщик Vite+ запускает дочерний процесс Nushell, чтобы определить каталог автозагрузки поставщика, поэтому он может записать vite-plus.nu в каталог, который обычные новые сессии не читают. Установка может завершиться успешно, но vp при этом останется недоступным в таких сессиях.
Если это произошло, откройте конфигурацию Nushell с помощью config nu и добавьте строку source, указывающую на установленный файл env.nu Vite+. Для стандартной новой установки в macOS или Linux без пользовательского XDG_CONFIG_HOME используйте:
source ~/.config/vite-plus/env.nuДля пользовательского XDG_CONFIG_HOME используйте абсолютный путь к <XDG_CONFIG_HOME>/vite-plus/env.nu, определённый во время установки. Для установки в VP_HOME или существующей установки в ~/.vite-plus используйте <VP_HOME>/env.nu или ~/.vite-plus/env.nu соответственно. Замените заполнители фактическими путями и заключайте пути, содержащие пробелы, в кавычки. Откройте новую сессию Nushell и выполните vp help, чтобы проверить конфигурацию.
CI
- Назначение: указывает на выполнение в окружении CI
- Эффект: включает тихий режим (
--yes) для установщиков
NO_COLOR
- Назначение: отключает цветной вывод
- Эффект: отключает управляющие ANSI-коды цветов
HOME / USERPROFILE
- Назначение: домашний каталог пользователя
- Эффект: основа для проверки существующей установки (
~/.vite-plus) и определения значений по умолчанию для раздельной структуры каталогов платформы.
Приоритет
- Аргументы CLI (наивысший приоритет)
- Переменные окружения
- Значения по умолчанию (низший приоритет)
Например, VP_VERSION=1.0.0 vp-setup.exe --version 2.0.0 установит версию 2.0.0.
Использование без локального пакета
Глобальной установки достаточно для работы с рантаймом, менеджерами пакетов и запуска задач:
vp env pin lts # Закрепить и установить Node.js для этого проекта
vp install # Использовать менеджер пакетов, объявленный проектом
vp run build # Запустить скрипт из package.json или настроенную задачу
vp dlx create-vite # Скачать и запустить бинарный файл пакетаДля запуска существующих скриптов из package.json локальная зависимость vite-plus не требуется. Добавьте локальный CLI проекта, если хотите, чтобы версия фронтенд-инструментария была зафиксирована в манифесте и lock-файле проекта.
Использование обоих CLI вместе
Глобальный CLI и локальный пакет vite-plus работают вместе. Вы продолжаете использовать одну и ту же команду vp, при этом каждый проект может выбрать собственную версию инструментария.
Для команд разработки, таких как vp dev, vp build, vp test и vp run, глобальный CLI передаёт выполнение установленной в проекте версии, если она доступна:
| Текущий проект | Инструментарий, используемый vp |
|---|---|
Локально установлен vite-plus | Установленный в проекте инструментарий |
vite-plus локально не установлен | Глобально установленный инструментарий |
В монорепозитории локальную установку можно разместить в корне рабочего пространства и использовать совместно. Нет необходимости устанавливать vite-plus отдельно в каждом пакете.
Например, если в проекте установлена версия Vite+ A, а в глобальной установке используется версия B, vp build использует инструментарий версии A. Обновление глобальной установки не изменяет установленный в этом проекте инструментарий.
Команды управления пакетами, такие как vp install и vp add, используют глобальный CLI. Команды управления окружением или глобальной установкой, такие как vp env, vp upgrade и vp implode, также выполняются глобальным CLI независимо от версии, используемой проектом.
Чтобы узнать, какой инструментарий выбран для текущего проекта, выполните vp toolchain. Используйте vp toolchain --global, чтобы проверить глобальную установку.
Следующие шаги
- Окружение посвящено выбору и закреплению версий Node.js и менеджеров пакетов, шимам и управляемым установкам.
- Управление пакетами посвящено работе с pnpm, npm, Yarn и Bun.
- Команда
vp runпосвящён скриптам пакетов и кэшированным задачам рабочего пространства. - Обновление Vite+ описывает обновление глобального CLI. См. Обновление Vite+ для обновления локального CLI проекта.
- Удаление Vite+ удаляет глобальный бинарный файл и управляемые им данные.
Поддержка платформ
Готовые бинарные файлы распространяются для:
- Linux x64 и arm64 с glibc;
- Windows x64 и arm64;
- macOS x64 и arm64;
- Linux x64 и arm64 с musl.
Если для вашей платформы нет готового бинарного файла, установка завершается с ошибкой. В Alpine Linux установите libstdc++ перед использованием управляемых неофициальных сборок Node.js:
apk add libstdc++