Skip to content

Глобальный CLI

Глобальный CLI представляет собой автономный бинарный файл vp для управления рантаймами и пакетами на уровне машины. Он включает инструментарий Vite+, не требует предварительной установки Node.js и может использоваться без добавления vite-plus в проект.

Выбирайте глобальный CLI, если хотите иметь одну доступную во всех проектах команду для любой комбинации следующих задач:

  • управление версиями Node.js и менеджеров пакетов;
  • выбор и загрузка менеджеров пакетов;
  • установка зависимостей и запуск бинарных файлов пакетов;
  • запуск скриптов из package.json и кэшированных задач рабочего пространства;
  • использование фронтенд-инструментария Vite+ без необходимости закреплять его в каждом проекте.

Установка глобального CLI не требует перехода на локальный пакет проекта. Вы можете использовать его только для управления рантаймом, пакетами и запуска задач, если этого достаточно.

Установка

bash
curl -fsSL https://vite.plus | bash
powershell
irm https://vite.plus/ps1 | iex

В Windows вместо этого можно скачать и запустить vp-setup.exe.

После установки откройте новую оболочку и выполните:

bash
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 bash
    powershell
    # 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 bash
    powershell
    # 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+.

  • Пример:

    bash
    export 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

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 используйте:

nu
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) и определения значений по умолчанию для раздельной структуры каталогов платформы.

Приоритет

  1. Аргументы CLI (наивысший приоритет)
  2. Переменные окружения
  3. Значения по умолчанию (низший приоритет)

Например, VP_VERSION=1.0.0 vp-setup.exe --version 2.0.0 установит версию 2.0.0.

Использование без локального пакета

Глобальной установки достаточно для работы с рантаймом, менеджерами пакетов и запуска задач:

bash
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:

sh
apk add libstdc++