Начните с обычного выполнения
Лиспекс начинает работу со встроенного эталонного интерпретатора.
lispex rule.lspxКоманда читает исходник и выполняет его во встроенном эталонном интерпретаторе. Это стандартный маршрут и эталон семантики. Установите дополнительный продукт, когда выбираете точную виртуальную машину Топаза или допущенный компилятор Топаза для сборки заранее.
Получение официального дополнительного продукта
Native содержит точный неизменяемый каталог маршрутов. Сейчас в нём две записи для macOS ARM64. Это виртуальная машина Топаза 5.11 и точный компилятор Топаза 5.11, которым Лиспекс собирает заранее. Выберите новый абсолютный путь.
lispex routes fetch \
--route topaz-vm \
--target aarch64-apple-darwin \
--out /absolute/tools/lispex-topaz-vmКоманда использует URL, канал, версию, реестр и каталог, закреплённые в Native-каталоге маршрутов. Она проверяет длину ответа, SHA-256, допустимую форму stored-ZIP, каждый установленный файл и закрытую идентичность продукта Топаза перед публикацией назначения. Допуск целевой платформы определяется до начала загрузки.
Получение публикует установленный продукт. Маршрут выбирается в разделе
Используйте продукт явно, где передаётся
/absolute/tools/lispex-topaz-vm/product.
Для сборки заранее скомпилированного продукта отдельно получите дополнительный продукт с компилятором.
lispex routes fetch \
--route aot-compiler \
--target aarch64-apple-darwin \
--out /absolute/tools/lispex-aot-compilerЗакрытый продукт содержит точный компилятор и манифест выпуска. aot build
объединяет установленный исполняемый файл компилятора с выбранным вызывающей
стороной абсолютным каталогом инструментов Rust.
lispex aot build \
--source rule.lspx \
--topaz-compiler /absolute/tools/lispex-aot-compiler/product/bin/topaz-bin \
--rust-tool-bin /absolute/rust/bin \
--out /absolute/products/rule-aotОфлайн-установка переданного архива
Получите из одной передачи от поставщика два неизменяемых локальных файла.
- файл
lispex.route-catalog/v1в единственной допустимой форме и его точный SHA-256 - stored-ZIP, названный точной записью маршрута и целевой платформы
Каталог представляет собой закрытый список допуска. Он фиксирует продукт поставщика, языковой режим, хэш манифеста, хэш и размер архива, а также каждый устанавливаемый файл. Установщик читает точные пути каталога и архива, переданные вызывающей стороной.
Установите одну точную запись
Выберите новый абсолютный путь, которого ещё не существует.
lispex routes install \
--route topaz-vm \
--target aarch64-apple-darwin \
--catalog /absolute/handoff/routes.json \
--catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
--archive /absolute/handoff/topaz-vm-aarch64-apple-darwin.zip \
--out /absolute/tools/lispex-topaz-vmЗамените образец хэша значением, переданным вместе с точным каталогом. Команда читает только локальные файлы. При успехе одна и та же квитанция появляется в stdout и здесь.
/absolute/tools/lispex-topaz-vm/
├── installation.json
└── product/installation.json представляет собой квитанцию
lispex.route-installation/v1 в единственной допустимой форме. В ней нет
абсолютного пути и времени, поэтому перенос неизменённого каталога сохраняет
идентичность. product/ остаётся закрытым корнем для существующего точного
валидатора продукта.
Для допущенного архива компилятора, который собирает заранее, измените
--route.
lispex routes install \
--route aot-compiler \
--target aarch64-apple-darwin \
--catalog /absolute/handoff/routes.json \
--catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
--archive /absolute/handoff/lispex-topaz-aot-compiler-aarch64-apple-darwin.zip \
--out /absolute/tools/lispex-aot-compilerДопущенный продукт с компилятором для сборки заранее предназначен для macOS ARM64. Вызывающая сторона предоставляет Rust, компоновщик, комплект разработки платформы и системные библиотеки для этой точной целевой платформы.
Используйте продукт явно
Установка публикует продукт, а эталонный интерпретатор остаётся стандартным маршрутом. Выберите дополнительный маршрут, передав закрытый корень продукта.
lispex routes inventory \
--topaz-vm /absolute/tools/lispex-topaz-vm/productЗатем создайте lock и проверьте его. Lock записывает идентичность выбранного установленного продукта независимо от пути в файловой системе.
lispex routes lock \
--route topaz-vm \
--topaz-vm /absolute/tools/lispex-topaz-vm/product \
--out topaz-route.json
lispex routes doctor \
--selection topaz-route.json \
--topaz-vm /absolute/tools/lispex-topaz-vm/productПосле переноса укажите новый абсолютный путь product/. Ни lock, ни квитанция
установки не запоминают путь файловой системы.
Полный путь от установки до переноса
После сборки скомпилированного продукта проверьте оба необязательных движка и создайте отдельный lock для каждого.
lispex routes inventory \
--topaz-vm /absolute/tools/lispex-topaz-vm/product \
--aot-product /absolute/products/rule-aot
lispex routes lock --route aot \
--aot-product /absolute/products/rule-aot \
--out aot-route.jsonДля одного сравнения четырёх способов выполнения в заданных пределах
используйте routes measure --samples 1, затем исполняйте только выбранный
lock.
lispex routes run \
--selection aot-route.json \
--aot-product /absolute/products/rule-aot \
--input input.datum \
rule.lspxУстановку виртуальной машины или готовый скомпилированный продукт можно
переместить. Передайте новый абсолютный корень командам routes doctor и
routes run, сохранив lock. Doctor заново проверит байты по новому пути, а
lock сохранит идентичность выбора после переноса. Поддерживаемый
полный пример переносимых маршрутов
соединяет получение, сборку, инвентаризацию, lock, doctor, измерение в
заданных пределах, закреплённое исполнение и перенос.
Разрешённая форма архива
Лиспекс принимает только одну форму stored-ZIP без сжатия, заданную с точностью до байта. Отклоняются сжатие, Zip64, дескриптор, шифрование, время, дополнительные поля, комментарии, каталоги, дубликаты и несортированные имена, выход из пути, абсолютные пути, обратные косые черты, символические ссылки, специальные файлы, превышение лимитов и любой неверный хэш. Запись идёт в закрытую соседнюю подготовительную область, а публикация происходит лишь тогда, когда назначения всё ещё не существует.
Код 2 означает ошибку использования команды. Код 1 означает отказ по идентичности или по форме байтов. Код 3 означает сбой локального ввода и вывода, достижение значения ресурса или неудачную публикацию без перезаписи. Результат сохраняет выбранную запись, целевую платформу, версию, путь и движок.
Роли артефактов
Корректные каталог и квитанция подтверждают точную целостность установленных
байтов. Подписанная политика поставки идентифицирует provider, квитанции
сравнения записывают согласие с Rust, а хост-приложение владеет внешними
действиями. Ваучер выводит свидетельство из аутентифицированного точного
исходника и закреплённого потребителем запроса. Поле
automatic_fallback:false сохраняет выбранный движок.
Куда дальше
Для простого стандартного выбора используйте руководство по среде, а перед
закреплённым продвинутым запуском выполните routes doctor.
Выбор способа запуска · Native CLI · Сборка заранее скомпилированного продукта