跳到正文
本頁目錄

lip update

更新包。

概要

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