upgrade

upgrade проверяет установленные модули, планирует совместимые обновления, заменяет существующие блоки и восстанавливает зависимости. Режим -c выполняет ту же проверку без записи.

СистемаВерсия 1.3.5Стабильная
lil-terminal

Обзор

upgrade превращает обслуживание модулей в предсказуемый процесс: сначала можно проверить план, затем обновить один модуль или всю установку, восстановить совместимые зависимости, а при установленном run — при желании запускать одну проверку или попытку обновления в начале каждой авторизованной сессии.

Сначала проверить план, затем менять код

upgrade -c проверяет версии, пакеты и зависимости без записи исходников модулей. Реальное обновление сохраняет выбранный пакет и репозиторий, атомарно заменяет модули и обращается к install только если обязательной зависимости ещё нет вообще.

Синтаксис

lil-terminal
upgrade [module ...] [-c] · upgrade -auto <check|update|off> · upgrade -info

Справочник

upgrade

обновить все установленные модули расширений

upgrade <module>

обновить (или восстановить) указанный модуль

upgrade -c

проверить версии, пакеты и зависимости

upgrade <module> -c

проверить версию одного модуля

upgrade -auto check @run

проверять обновления один раз за авторизованную сессию через autoload.lil

upgrade -auto update @run

пытаться обновлять модули один раз за авторизованную сессию через autoload.lil

upgrade -auto off

отключить автоматические действия upgrade

upgrade -info

показать режим автообновления и состояние autoload.lil

Руководство по upgrade

В Minimum можно обновить все модули или один по имени. Проверка -c, выбор нескольких команд и автоматические действия требуют Base.

Прежде чем обновлять модули на рабочем сайте, посмотри, что именно изменится. upgrade -c проверяет версии и зависимости, не заменяя PHP-код. upgrade hash -c делает такую проверку только для выбранной команды.

upgrade hash обновляет или восстанавливает установленный модуль, сохраняя его вариант Base/Minimum и источник. Просто upgrade обрабатывает все установленные модули. Если команды ещё нет, сначала нужен install: обновление не подменяет установку.

upgrade -auto check настраивает проверку при запуске авторизованной сессии через run и autoload.lil. Режим -auto update может сам менять исполняемый PHP-код, поэтому по умолчанию выключен. Состояние показывает upgrade -info, отключение — upgrade -auto off. Встроенный cd обновляется заменой lil.php, а не через upgrade cd.

Планирование

Маркер каждого установленного модуля хранит репозиторий, версию, пакет Base или Minimum и поколение lil.core. upgrade находит новейший совместимый публичный релиз в том же репозитории, сохраняет выбранный пакет, проверяет метаданные совместимости и никогда не понижает версию, которая уже выше серверной.

Обновление и восстановление

Существующие модули загружаются, нормализуются, разбираются, проверяются на конфликт методов и заменяются атомарно. Для зависимостей проверяются репозиторий, пакет, версия и поколение ядра. Уже установленную зависимость upgrade обновляет или расширяет сам; только полностью отсутствующая зависимость передаётся install.

Режим проверки

-c выполняет тот же анализ версий, пакетов и зависимостей, но не загружает исходник модуля и не изменяет файл расширений. Для важного проекта это лучший первый шаг перед ручным или автоматическим обновлением.

Автоматический режим

Автоматический режим использует существующий механизм запуска run и файл autoload.lil. upgrade изменяет только собственный маркированный блок # <upgrade:auto> и сохраняет все остальные строки сценария. check добавляет автоматический upgrade -c, update — автоматический upgrade, а off удаляет только этот служебный блок. Режимы check и update взаимоисключающие.

Поскольку autoload.lil выполняется один раз за авторизованную сессию, проверка или обновление запускаются после входа в терминал, а не перед каждой командой. Для автоматического режима нужен модуль run. Команда upgrade -info показывает текущий режим и ничего не записывает.

Безопасность

Автоматическое обновление по умолчанию выключено. Режим update загружает и заменяет исполняемый PHP-код модулей, поэтому используйте только доверенный репозиторий. Если изменения должны оставаться полностью явными, выбирайте check. Управляемый блок можно удалить в любой момент командой upgrade -auto off.

Формат сводки

Проверка или обновление всей установки начинается с краткого итога, затем изменённые модули выводятся строками с версиями впереди — например v1.30 > v1.33 help ⌘, — а в конце идут компактные счётчики вроде Актуально: 10. Такой порядок позволяет быстро сравнивать несколько обновлений.

Встроенные команды cd и core входят в Core. upgrade показывает их состояние, но обновляются они заменой lil.php, а не отдельно.

Пакет Base обозначается ⌘, Minimum по-прежнему обозначается (minimum).

Результат одного модуля

При проверке или обновлении одного модуля выводятся только версии и обозначение пакета: например, v1.1.5 ⌘ или v1.1.4 > v1.1.5 ⌘. Название команды и подписи Current/Available не дублируются. При недоступности исходника повторно запрашивается та же версия.

Теперь upgrade принимает несколько названий модулей в одной команде, включая проверку с -c. Обновляются только выбранные модули и необходимые зависимости.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Upgrade · check

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install upgrade
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install upgrade -m
Точная публичная версия

Установить именно эту опубликованную версию.

install upgrade -v 1.3.5
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install upgrade -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Upgrade · check
upgrade -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Status  All 3 modules are current
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · module-check
upgrade
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
All installed extension modules are current
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · module
upgrade hash -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
v1.1.4
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · all
upgrade hash
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
v1.1.4
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · auto-check
upgrade pwd -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
v1.1.5
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · info
upgrade attr stat include -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Selected (check)  3
attr     v1.3.2
stat     v1.1.6
include  v1.2.6
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · auto-update
upgrade attr stat include
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
All 3 selected modules are current
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · auto-off
upgrade cd -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Built-in  cd · Core v1.5.x
Update    replace lil.php to update
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · core
upgrade core -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Built-in  core · Core v1.5.x
Update    replace lil.php to update
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · check
upgrade -auto check
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Automatic upgrade  Check only
Session command     upgrade -c
Script              autoload.lil
Фактический результат зависит от установленных пакетов и состояния репозитория.

Команда добавляет в autoload.lil один управляемый вызов upgrade -c. При следующей авторизованной сессии run выполнит проверку один раз, покажет доступные обновления и ничего не изменит в модулях.

Upgrade · -info
upgrade -info
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Automatic upgrade  Check only
Run module         Installed
Script             autoload.lil
Фактический результат зависит от установленных пакетов и состояния репозитория.

upgrade -info читает управляемый блок запуска и показывает: автообновление выключено, работает только проверка или включено обновление. autoload.lil при этом не изменяется.

Upgrade · update
upgrade -auto update
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Automatic upgrade  Update automatically
Session command     upgrade
Script              autoload.lil
Фактический результат зависит от установленных пакетов и состояния репозитория.

Команда заменяет управляемую проверку на upgrade. Режим может загружать и заменять исполняемый код модулей один раз за авторизованную сессию, поэтому включайте его только для доверенного репозитория.

Upgrade · off
upgrade -auto off
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Automatic upgrade  Off
Script             autoload.lil
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · 14
upgrade missing_module
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
missing_module: not installed
Upgrade · invalid
upgrade -auto invalid
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
?
Upgrade · -info
upgrade -info -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
?
Upgrade · -c
upgrade -c -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
?
Upgrade · install
upgrade install -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
v1.4.8
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · ses
upgrade ses -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
v1.3.6
Фактический результат зависит от установленных пакетов и состояния репозитория.
Upgrade · hash
upgrade hash pwd -c
Подготовленный учебный ответ. Кнопка Play не изменяет твою установку.
Selected (check)  2
hash  v1.1.4
pwd   v1.1.5
Фактический результат зависит от установленных пакетов и состояния репозитория.

Связанная документация

Текущая публичная версия

v1.3.52026-10-31

Корректные статусы обновления

Installed module scanning ignores PHP string literals; current packages show only versions, available updates show the warning indicator.