vcpkg install
概要
- 傳統模式
vcpkg install [options] <package>...
- 指令清單模式
vcpkg install [options]
描述
建置並安裝埠套件。
傳統模式
在傳統模式中,這個動詞命令會將埠套件新增至已安裝目錄中的現有集合(預設為 installed/
vcpkg 根目錄下)。 這可能需要移除和重建現有的套件,這可能會失敗。
套件語法
portname[feature1,feature2]:triplet
沒有三元的套件參考會自動由 預設目標三元組限定。 未明確列出 core
之套件參考會被視為暗示所有預設功能。
指令清單模式
在指令清單模式中,此命令會將已安裝的vcpkg.json
目錄設定為指令清單檔案所指定的狀態,視需要新增、移除或重建套件。
選項。
所有 vcpkg 命令都支援一組 常見的選項。
--allow-unsupported
不要在不支援的埠上停止,而是繼續警告。
根據預設,vcpkg 會拒絕執行安裝計劃,其中包含其 "supports"
子句外部三重專案的埠安裝。 套件 "supports"
的 子句描述套件預期可建置的一組完整平臺。 此旗標會指示 vcpkg 警告建置預期會失敗,而不是停止。
--clean-after-build
建置每個套件之後,清除建置樹狀結構、套件和下載專案。
此選項的效果與傳遞 --clean-buildtrees-after-build
、 --clean-downloads-after-build
和 --clean-packages-after-build
相同。
--clean-buildtrees-after-build
在建置每個套件之後,清除 buildtrees 暫存子資料夾的所有子目錄。
將保留 buildtrees 子資料夾中的所有最上層檔案(例如 buildtrees/zlib/config-x64-windows-out.log
)。 將會刪除所有子目錄。
--clean-downloads-after-build
在建置每個套件之後,清除 downloads/
資料夾中所有未移除的資產。
資料夾中的所有最上層檔案 downloads/
都會被刪除。 系統會保留擷取的工具。
--clean-packages-after-build
建置每個套件之後,清除套件暫存子資料夾。
安裝之後,將會刪除所建置套件的套件子資料夾(例如 packages/zlib_x64-windows
, )。
--dry-run
列印安裝方案,但不移除或安裝任何套件。
安裝方案會列出將安裝的所有套件和功能,以及需要移除和重建的任何其他套件。
--editable
- 僅限傳統模式
針對命令行上所有直接參考的套件執行可編輯的組建。
當 vcpkg 建置埠時,它會每次清除並重新擷取原始程式碼,以確保輸入正確無誤。 這是指令清單模式必須正確更新所安裝的內容,以及二進位快取,以確保快取的內容正確無誤。
傳遞 --editable
旗標會停用此行為,並保留對資料夾中所擷取來源的 buildtrees/
編輯。 這可藉由避免在每次變更上寫入檔案的需求,來快速開發修補程式。
在可編輯的組建期間擷取的來源在目錄名稱上沒有 .clean/
後綴,後續不可編輯的組建將不會清除。
--enforce-port-checks
如果埠偵測到問題或嘗試使用已被取代的功能,則安裝失敗。
根據預設,vcpkg 會在建置套件上執行數個檢查,並在偵測到任何問題時發出警告。 此旗標會將這些警告升級為錯誤。
--x-feature=<feature>
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
- 僅限指令清單模式
指定要安裝相依性的其他功能vcpkg.json
。
根據預設,只會 "dependencies"
安裝 和的 "default-features"
相依性。
--head
- 僅限傳統模式
要求命令行上明確參考的所有套件,以擷取建置時可用的最新來源。
此旗標僅適用於暫存測試,不適用於生產環境或長期使用。 這會停用 所有明確參考套件及其相依專案的二進位快 取,因為 vcpkg 無法正確追蹤所有輸入。
--keep-going
在第一次失敗之後繼續安裝方案。
根據預設,vcpkg 會在第一次套件建置失敗時停止。 此旗標會指示 vcpkg 繼續建置及安裝不相依於失敗套件之安裝計劃的其他部分。
--x-no-default-features
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
- 僅限指令清單模式
請勿從最上層指令清單安裝預設功能。
在指令清單模式中使用 install
時,預設會安裝中 "default-features"
所列功能的所有相依性。 此旗標會停用該行為,因此只會安裝 所 --x-feature
明確啟用的功能。
--no-downloads
建置套件時,防止埠在建置期間下載新的資產。
根據預設,埠會視需要從因特網取得原始程式碼和工具(受限於 資產快取)。 此參數會封鎖下載,並將埠限制為計算機上先前下載和快取的資產。
--only-downloads
嘗試下載安裝計劃所需的所有資產,而不需要執行任何組建。
傳遞此選項時,vcpkg 會在計劃中執行每個組建,直到它進行第一次非下載外部進程呼叫為止。 大部分的埠會在第一個外部進程呼叫之前執行所有下載(通常是對其建置系統),因此此程式會下載所有必要的資產。 未遵循此程式的埠將不會預先下載其資產。
--only-binarycaching
拒絕執行任何組建。 僅從 二進位快取還原套件。
此旗標會封鎖 vcpkg 依需求執行組建,如果找不到任何二進位快取中的套件,將會失敗。
--recurse
- 僅限傳統模式
核准需要重建套件的安裝計劃。
若要修改已安裝套件的一組功能,vcpkg 必須移除並重建該套件。 由於這可能會失敗,並且讓安裝樹狀結構與用戶啟動的套件少,因此用戶必須核准透過傳遞此旗標來核准重建套件的計劃。
--x-use-aria2
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
使用aria2來執行下載工作。
--x-write-nuget-packages-config
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
寫出 NuGet packages.config
格式的檔案,以搭配 二進位快取使用。
這個選項可以搭配 --dry-run
使用,以取得二進位快取所需的 NuGet 套件清單,而不需要建置或安裝任何套件。 這可讓 NuGet 命令行針對進階案例個別叫用,例如使用替代通訊協定來取得 .nupkg
檔案。
--no-print-usage
隱藏在安裝結束時列印的使用文字產生。