lip update
更新包。
概要
lip update [PACKAGES] [options]参数
| 参数 | 说明 |
|---|---|
[PACKAGES] | 要更新的包。支持与 lip install 相同的形式:不带版本时安装最新版本;带 @<version> 时安装恰好该版本;带 git 引用时安装它当前所指的提交。省略时,所有显式安装的包按下文所述更新。 |
说明
作为参数给出的包必须已经安装,并会成为显式安装的包。若两个参数指向同一个包,则两者都必须被满足:lip update <path> <path>@1.0.0 会安装 1.0.0 版本,它同样满足 <path>;而 lip update <path>@1.0.0 <path>@1.1.0 会失败。更新一个包即先卸载旧版本,再安装新版本;其依赖会按需更新。只有结果的身份、版本或提交与已安装的不同时,才会替换该包(参见状态文件)。来自 URL 或本地路径的包没有提交,因此只有其版本变化时才会被替换。未被替换的包保留状态文件中记录的包文件及其依赖,即使其 lip.toml 此后已有改动。
不带参数时,每个显式安装的包都按状态文件中记录的安装来源重新请求:
| 安装来源 | lip update 安装 |
|---|---|
<path> | 最新版本。 |
<path>@<version> | 同一个版本:不会变化。 |
<path>@branch:<branch> | 分支当前的头。 |
<path>@tag:<tag> | 标签当前所指的提交(只有标签被移动过才会变化)。 |
<path>@rev:<commit> | 同一个提交:不会变化。 |
https:// URL | 从该 URL 重新下载的 ZIP 文件;只有其版本变化时才会替换该包。 |
| 本地 ZIP 文件 | 同一个文件,重新读取;只有其版本变化时才会替换该包。若文件已不存在,则保持该包不变。 |
| 本地目录 | 同一个目录,重新读取;只有其版本变化时才会替换该包。若目录已不存在,则保持该包不变。 |
不带参数时,若某个包的来源现在给出另一身份的包(例如 lip.toml 的 id 已改变的 ZIP 文件),则该包会被这个包替换,后者成为显式安装的包。若此时两个来源给出同一身份的包,或某个来源给出与保持不变的包同一身份的包,除非一个包能同时满足两者,否则更新失败。
如需把从 git 引用安装的包改回正式发布的版本,请用其不带 git 引用的仓库路径更新,例如 lip update github.com/user/repo。
lip update 从不改变游戏或加载器(参见 lip setup)。不带参数时,它保持它们不变;指向 github.com/LiteLDev/bds 或 github.com/LiteLDev/LeviLamina 的参数会让命令在做任何改动之前失败,并提示使用 lip setup。若其他包无法在游戏和加载器保持不变的情况下更新,命令会失败。如需改变游戏或 LeviLamina 的版本,请运行 lip setup。
选项
| 选项 | 说明 |
|---|---|
-n, --dry-run | 仅模拟执行,不做实际更改。 |