Установка YaoXiang
Командный интерфейс YaoXiang построен на разделении передней двери / движка (RFC-037):
yx— передняя дверь, повседневная точка входа. Содержит встроенное управление версиями (yx toolchain/yx self update), остальные команды передаются движкуyaoxiang-rs— движок, отвечает за компиляцию / запуск / управление пакетами / форматирование / LSP, как правило не вызывается напрямую
Установка делится на двухуровневые каналы, все каналы используют общую структуру продуктов (bin/ + lib/yaoxiang/std/).
Стандартный канал: распакуй и используй (режим Go/Zig)
Скачайте архив для вашей платформы со страницы релизов GitHub, распакуйте в любой каталог, добавьте bin/ в PATH:
tar xzf yaoxiang-<версия>-<платформа>.tar.gz
export PATH="$PWD/yaoxiang-<версия>-<платформа>/bin:$PATH"После распаковки можно сразу использовать: yx --version. В архиве содержатся все зависимости (включая разделяемую библиотеку Z3) и читаемые исходные коды стандартной библиотеки lib/yaoxiang/std/, никаких дополнительных шагов не требуется.
Канал для простой установки: одна команда (режим Rust/rustup)
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/ChenXu233/YaoXiang/main/scripts/install/install.sh | shWindows (PowerShell)
irm https://raw.githubusercontent.com/ChenXu233/YaoXiang/main/scripts/install/install.ps1 | iexСкрипт устанавливает инструментарий в ~/.yaoxiang/ (для Windows: %USERPROFILE%\.yaoxiang) и добавляет yx в PATH.
Linux: репозиторий apt
curl -fsSL <адрес apt-репозитория>/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/yaoxiang.gpg
echo "deb [signed-by=/usr/share/keyrings/yaoxiang.gpg] <адрес apt-репозитория> stable main" | sudo tee /etc/apt/sources.list.d/yaoxiang.list
sudo apt update && sudo apt install yaoxiangУстановка через apt — системная плоская установка (/usr/lib/yaoxiang/, точка входа команд /usr/bin/yx), обновление версий через apt upgrade. Метаданные репозитория автоматически подписываются и публикуются CI релизов.
Windows: мастер установки Inno Setup
Скачайте YaoXiang-Setup-<версия>.exe со страницы релизов и установите с помощью мастера (опционально автоматическое добавление в PATH). Как и apt, это системная плоская установка.
Управление версиями (встроено в переднюю дверь yx)
yx toolchain install stable # установить последнюю стабильную версию
yx toolchain install 0.7.14 # установить указанную версию
yx toolchain default 0.7.14 # установить версию по умолчанию
yx toolchain list # список установленных версий
yx toolchain update # обновить до последней стабильной версии
yx self update # обновить сам yxНесколько версий сосуществуют в ~/.yaoxiang/versions/<версия>/, каждая версия — это полное самодостаточное дерево инструментария (движок, Z3, стандартная библиотека привязаны к одной версии).
Закрепление версии на уровне проекта
Поместите файл yx-toolchain.toml в корень проекта (по аналогии с rust-toolchain.toml):
toolchain = "0.7.14"Выполнение любой команды yx в этом каталоге будет использовать закреплённую версию — разные проекты могут работать с разными версиями.
Переменные окружения
| Переменная | Описание |
|---|---|
YAOXIANG_HOME | Переопределяет корень установки, по умолчанию ~/.yaoxiang (сценарии CI и контейнеров) |
YAOXIANG_VERSION | Скрипт install устанавливает указанную версию вместо последней |
Сеть и зеркала (ограниченный доступ к сети)
Когда текущая сеть не может напрямую подключиться к GitHub, yx поддерживает зеркала загрузки: настройте префикс URL в стиле ghproxy в <корень установки>/settings.toml (по умолчанию ~/.yaoxiang/settings.toml):
mirror = "https://ghproxy.example.com"Область применения (yx добавит полный URL GitHub после этого префикса):
yx toolchain install/yx toolchain update— пакеты релизов, побочные.sha256подтверждения и API запроса версийyx self update— то же самое
Примечания:
- Скрипты установки в одну строку (
install.sh/install.ps1) не читают конфигурацию зеркала, подключаются к GitHub напрямую - При сбое загрузки
yxвыведет в сообщении об ошибке подсказку о настройке зеркала; недоступность самого зеркала также будет сообщена как сетевая ошибка
Проверка установки
yx --version # версия передней двери
yx run main.yx # любая программа на YaoXiang