upgrade

upgrade 用于检查已安装模块的版本、规划更新、替换现有模块块并修复已安装的依赖。完全缺失的模块仍由 install 负责安装。

系统版本 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 版本类型与仓库来源。不带参数时处理所有已安装模块。尚未安装的模块应使用 install。

upgrade -auto check 通过 run 与 autoload.lil 在授权会话开始时安排检查;-auto update 可以自动替换 PHP 代码,默认关闭。upgrade -info 查看状态,-auto off 关闭。cd 等 Core 内置命令需更换 lil.php。

规划

每个已安装标记都会记录仓库、版本、Base 或 Minimum 软件包以及 lil.core 代际。upgrade 会在同一仓库中选择最新的兼容 Public 版本,保留原有软件包,验证兼容性元数据,并且不会把本地较新的版本降级。

更新与修复

现有模块会被下载、规范化、解析、检查方法冲突并以原子方式替换。依赖项会按仓库、软件包、版本和核心代际进行检查。已经安装的依赖由 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

Precise update status

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