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 | 僅模擬執行,不做實際更改。 |