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

隱藏在安裝結束時列印的使用文字產生。