78 lines
8.3 KiB
Markdown
78 lines
8.3 KiB
Markdown
---
|
||
id: install
|
||
---
|
||
# Установка Aego
|
||
|
||
Aego — одна программа: редактор, командная строка и среда выполнения. Установите её один раз и создавайте проекты где угодно.
|
||
|
||
## Загрузка
|
||
|
||
Кнопки выше ведут к файлам [последнего релиза](https://git.akarpov.ru/sanspie/aego/releases/latest); у каждого файла есть сумма SHA-256 в `SHA256SUMS.txt`. [Ночная сборка](https://git.akarpov.ru/sanspie/aego/releases/tag/nightly) пересобирается после каждого успешного коммита.
|
||
|
||
- **Windows** — запустите установщик. Он ставит Aego только для вашего пользователя, добавляет `aego` в PATH, кладёт Aego в меню «Пуск» и открывает проекты `.aego` двойным щелчком.
|
||
- **macOS** — сначала проверьте, есть ли файл для macOS в выбранном выпуске. Если есть образ диска, откройте его и перетащите Aego в «Программы». Приложение пока не нотаризовано: при первом запуске щёлкните правой кнопкой → «Открыть» или разрешите запуск в настройках безопасности. Если файла нет, готовый установщик недоступен; используйте сборку из исходников ниже.
|
||
- **Linux** — скачайте AppImage, сделайте файл исполняемым и запустите. Добавить его в меню помогут Gear Lever или AppImageLauncher; скрипт установки ниже делает это сам. Есть и архив tar.gz.
|
||
|
||
## Командная строка
|
||
|
||
Для серверов, CI и всех, кому удобнее терминал:
|
||
|
||
```sh
|
||
curl -fsSL https://aego.akarpov.ru/install.sh | sh
|
||
curl -fsSL https://aego.akarpov.ru/install.sh | sh -s -- --nightly
|
||
curl -fsSL https://aego.akarpov.ru/install.sh | sh -s -- --version v0.11.0
|
||
```
|
||
|
||
```powershell
|
||
irm https://aego.akarpov.ru/install.ps1 | iex
|
||
```
|
||
|
||
В Windows, чтобы выбрать другую сборку, перед командой задайте `$env:AEGO_CHANNEL = "nightly"` или тег, например `"v0.11.0"`. Скрипт проверяет контрольную сумму, ставит Aego в `~/.local` (или в `%LOCALAPPDATA%\Programs\Aego`) и пишет, что сделал.
|
||
|
||
## Обновления
|
||
|
||
Копия, установленная установщиком, `install.sh` или AppImage, обновляет себя сама. При каждом запуске и раз в шесть часов в долгом сеансе Aego ищет новую версию своего канала; проверка занимает не больше трёх секунд и не задерживает окно.
|
||
|
||
- **Скачивать и устанавливать при перезапуске** (по умолчанию) скачивает новую версию в фоне, ход загрузки виден в Центре задач. Затем лаунчер и строка состояния предлагают **Перезапустить и обновить**, **Позже**, **Пропустить эту версию** и **Что нового**. Во время работы ничего не устанавливается: обновление ставится при перезапуске, и Aego открывает тот же проект уже в новой версии. Пропущенная версия больше не предлагается, следующая — да.
|
||
- **Спрашивать перед загрузкой** сначала предлагает новую версию; **Только по запросу** ждёт **Справка → Проверить обновления**.
|
||
- **Справка → Ночные обновления** или канал в лаунчере переключают на сборку каждого коммита master вместо стабильных версий.
|
||
- Каждый релиз подписан. Релиз без верной подписи или загрузка с неверной контрольной суммой не устанавливаются никогда.
|
||
- Версия до обновления сохраняется: **Справка → Вернуть предыдущую версию** или лаунчер возвращают её. Если новая версия останавливается в первые десять секунд, следующий запуск сам возвращает предыдущую и сообщает об этом.
|
||
- `aego update` делает то же из терминала: `aego update check`, `aego update apply`, `aego update restore` и `aego update status`.
|
||
|
||
В Windows установщик обновляет установку на месте, когда редактор закрывается, и открывает его снова; ярлыки и ассоциации файлов сохраняются. Установщик заменённой версии сохраняется, и возврат запускает его так же. Хранится только одна предыдущая версия; старые загрузки удаляются, когда новая версия запускается. В macOS новый `.app` встаёт на место старого. Копия, собранная из исходников или установленная пакетным менеджером дистрибутива, сама не обновляется: лаунчер ведёт на эту страницу.
|
||
|
||
## Из исходников
|
||
|
||
Нужны Go 1.27 и компилятор C для SDL3, а также CMake и Ninja. Первая сборка скачивает и собирает SDL 3 в `.cache/native`.
|
||
|
||
В Debian и Ubuntu:
|
||
|
||
```sh
|
||
sudo apt-get install -y build-essential cmake ninja-build pkg-config \
|
||
libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev \
|
||
libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxtst-dev libxkbcommon-dev \
|
||
libwayland-dev wayland-protocols libdecor-0-dev \
|
||
libasound2-dev libpulse-dev libdrm-dev libgbm-dev libudev-dev libdbus-1-dev libibus-1.0-dev
|
||
```
|
||
|
||
В macOS — `xcode-select --install`, затем `brew install go cmake ninja`. В Windows — оболочка UCRT64 из [MSYS2](https://www.msys2.org/): `pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja`.
|
||
|
||
```sh
|
||
git clone https://git.akarpov.ru/sanspie/aego.git
|
||
cd aego
|
||
make bootstrap && make cli
|
||
```
|
||
|
||
`make cli` собирает редактор и командную строку в `.cache/bin/aego`; `make ci` запускает то же, что CI.
|
||
|
||
## Требования
|
||
|
||
Настольному рендереру нужны OpenGL 3.3 и драйвер, предоставляющий этот API приложению. Браузерной сборке нужен включённый WebGL2. Возраст компьютера не гарантирует совместимость: виртуальная машина, удалённый рабочий стол или отключённое ускорение браузера могут не предоставлять нужный API. Перед загрузкой проверьте ОС и архитектуру процессора в файлах выпуска. При ошибке OpenGL проверьте драйвер и графическую среду; само сообщение не означает повреждения проекта.
|
||
|
||
## Нативные расширения на Go
|
||
|
||
Необязательны. Проектам с собственным кодом на Go нужен установленный Go; редактор сообщит, если не найдёт его. Проекты только со скриптами работают без Go.
|
||
|
||
Дальше: [Первый проект →](ref:quickstart)
|