升级与回滚
各部分独立升级:载体、插件管理器、加载器、插件包。命令在每个载体上都一样,只有包的标签不同。
先看现在装了什么
Section titled “先看现在装了什么”lip list已安装的包连同版本一起列出;带标签装的包会显示标签(HostingShim#[email protected])。升级前把这行 输出留一份。
lip update github.com/HosihikariFramework/HostingShim#levilaminalip update 接受与 lip install 相同的包写法,包括 #variant 标签。加 -n 只预览不执行。
没有 lip upgrade 这个命令。
锁定版本,或退回去
Section titled “锁定版本,或退回去”lip install 带显式版本号既能升级也能降级:
这就是回滚路径。装上能用的那版,重启,确认日志里框架重新接管。
框架加载的一切都跑在服务端进程里:
- 载体与插件管理器。 重启。
- 加载器包。 运行期不能卸载;停用或升级它们都得重启。
- 插件包。 父级态下,父级能在运行期停用、启用、卸载插件。自持态目前没有运行期启停:把包移出
plugins/再重启。插件管理命令已在计划中,落地前这是唯一路径。
升级前对一遍兼容
Section titled “升级前对一遍兼容”发布页列出哪些版本是一起发的。真正起作用的是两个号:
- 寄宿契约版本。 原生载体与插件管理器在启动前互相核对。不一致会中止启动序列,见故障恢复。
api_version。 插件清单声明它按哪条契约构建。不兼容的插件在运行前就被拒绝。
看你正要升到的那条线的发布记录。
几个包一起动时,先升载体——它会把需要的插件管理器作为 lip 依赖带上——再升加载器包,最后升插件包。 最后统一重启一次。
