Skip to content

Установка YaoXiang ​

Командный интерфейс YaoXiang построен на разделении передней двери / движка (RFC-037):

  • yx — передняя дверь, повседневная точка входа. Содержит встроенное управление версиями (yx toolchain / yx self update), остальные команды передаются движку
  • yaoxiang-rs — движок, отвечает за компиляцию / запуск / управление пакетами / форматирование / LSP, как правило не вызывается напрямую

Установка делится на двухуровневые каналы, все каналы используют общую структуру продуктов (bin/ + lib/yaoxiang/std/).

Стандартный канал: распакуй и используй (режим Go/Zig) ​

Скачайте архив для вашей платформы со страницы релизов GitHub, распакуйте в любой каталог, добавьте bin/ в PATH:

sh
tar xzf yaoxiang-<версия>-<платформа>.tar.gz
export PATH="$PWD/yaoxiang-<версия>-<платформа>/bin:$PATH"

После распаковки можно сразу использовать: yx --version. В архиве содержатся все зависимости (включая разделяемую библиотеку Z3) и читаемые исходные коды стандартной библиотеки lib/yaoxiang/std/, никаких дополнительных шагов не требуется.

Канал для простой установки: одна команда (режим Rust/rustup) ​

Linux / macOS ​

sh
curl -fsSL https://raw.githubusercontent.com/ChenXu233/YaoXiang/main/scripts/install/install.sh | sh

Windows (PowerShell) ​

powershell
irm https://raw.githubusercontent.com/ChenXu233/YaoXiang/main/scripts/install/install.ps1 | iex

Скрипт устанавливает инструментарий в ~/.yaoxiang/ (для Windows: %USERPROFILE%\.yaoxiang) и добавляет yx в PATH.

Linux: репозиторий apt ​

sh
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) ​

sh
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):

toml
toolchain = "0.7.14"

Выполнение любой команды yx в этом каталоге будет использовать закреплённую версию — разные проекты могут работать с разными версиями.

Переменные окружения ​

ПеременнаяОписание
YAOXIANG_HOMEПереопределяет корень установки, по умолчанию ~/.yaoxiang (сценарии CI и контейнеров)
YAOXIANG_VERSIONСкрипт install устанавливает указанную версию вместо последней

Сеть и зеркала (ограниченный доступ к сети) ​

Когда текущая сеть не может напрямую подключиться к GitHub, yx поддерживает зеркала загрузки: настройте префикс URL в стиле ghproxy в <корень установки>/settings.toml (по умолчанию ~/.yaoxiang/settings.toml):

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 выведет в сообщении об ошибке подсказку о настройке зеркала; недоступность самого зеркала также будет сообщена как сетевая ошибка

Проверка установки ​

sh
yx --version        # версия передней двери
yx run main.yx      # любая программа на YaoXiang