lip install
安裝包。
概要
shell
lip install <PACKAGES> [options]參數
| 參數 | 說明 |
|---|---|
<PACKAGES> | 要安裝的包。 |
每個包參數可以是以下形式之一:
- 包路徑 —
<path>或<path>#<variant>(例如github.com/user/repo):最新版本。 - 帶版本的包路徑 —
<path>@<version>或<path>#<variant>@<version>(例如github.com/user/repo#lua@1.0.0):恰好該版本。版本為不帶前導v的 SemVer 2.0.0 版本。 - 帶 git 引用的包路徑 —
<path>[#<variant>]@branch:<branch>、@tag:<tag>或@rev:<commit>(例如github.com/LiteLDev/LeviLamina@branch:main):分支頭、標籤或提交 ID 所指的提交,無論其版本為何。接受任意分支名或標籤名,而不僅是v<SemVer>標籤;提交 ID 必須是完整的 40 位十六進制數字。參見 git 引用。 - 遠程歸檔 —
.mcmod或.zip文件的https://URL(例如https://example.com/package.mcmod),後面可跟#<variant>。下載內容按 URL 緩存。 - 本地歸檔 —
.mcmod或.zip文件,使用絕對路徑或相對於當前目錄的路徑(例如./package.mcmod或C:\Downloads\package.zip),後面可跟#<variant>。以./、../、.\或..\開頭、為.或..、為絕對路徑,或不含@且以.mcmod或.zip結尾(不區分大小寫)或指向已存在的文件或目錄的參數,都按本地處理。文件是否為 ZIP 歸檔只取決於其內容,與擴展名無關。
本地目錄不是包:lip install ./some/dir 會失敗,且不改動工作區。請先把目錄打包為 .mcmod 文件(根目錄含 manifest.json 的 ZIP 歸檔)。包內部的相對引用(./...),例如路由文檔的路由、或嵌套在歸檔中的 .mcmod,仍然照常工作。
包的依賴也會一併安裝。安裝一個已被顯式安裝的包會報錯;如需改變其版本,請使用 lip update。作為依賴安裝的包會變為顯式安裝。
git 引用
git 引用把包路徑固定到其倉庫的某個提交:
@branch:<branch>取分支當前的頭。lip update會跟隨分支到新的頭。@tag:<tag>取標籤所指的提交;任意標籤名均可,例如@tag:nightly。lip update會重新解析該標籤。@rev:<commit>恰好取該提交,它永遠不會變化。不接受縮寫的提交 ID,因為解析縮寫需要倉庫的全部歷史。
以這種方式安裝的包,其版本為該提交處 manifest.json(或 tooth.json)聲明的 version。只有名為 v<SemVer> 的標籤(例如 @tag:v1.2.0)會讓包取標籤的版本,與普通版本相同:該處的 manifest.json 必須聲明該版本,tooth.json 則以標籤版本為準。鎖會記錄 git 引用及其解析到的提交,因此在你更新之前,工作區始終保持該提交。
從 git 引用安裝的包,也能滿足對其不帶 git 引用的包路徑的依賴,只要其版本在依賴的範圍內:要求 github.com/LiteLDev/LeviLamina >=1.5.0 的模組,會接受從 @branch:main 安裝且聲明 1.6.0 的 LeviLamina;若其聲明 1.4.0 則失敗。
選項
| 選項 | 說明 |
|---|---|
-n, --dry-run | 僅模擬執行,不做實際更改。 |
--ignore-scripts | 不執行任何包腳本,包括操作所移除或替換的包的卸載腳本(以及 tooth.json 包的腳本)。 |
--no-dependencies | 對每個參數恰好安裝其第一個候選,替換同一身份的已安裝包;不安裝任何依賴,也不卸載其他包。這可能導致工作區損壞。 |
--rid <RID> | 工作區的 .NET RID,例如 win-x64。 |
示例
shell
lip install github.com/LiteLDev/LeviLamina
lip install github.com/LiteLDev/LegacyMoney@0.22.0 --rid win-x64
lip install github.com/LiteLDev/LeviLamina@branch:main
lip install github.com/LiteLDev/LegacyMoney@tag:v0.22.0
lip install https://github.com/LiteLDev/LegacyMoney/releases/download/v0.22.0/LegacyMoney-server-win-x64.mcmod
lip install ./LegacyMoney-server-win-x64.mcmod