教學課程:使用 Git 將套件發佈至私人 vcpkg 登錄
您可以使用 Git 建立自己的套件私人登錄,以透過 vcpkg 取用。 如果您想要使用私人程式庫,或想要對現有套件進行非公用修改,私人登錄是理想的做法。 您可以完全控制套件的版本和內容,因此您實際上沒有限制可在私人登錄中放置的內容。
在本教學課程中,我們將示範如何:
先決條件:
- vcpkg
- Git
- 終端機
1 - 使用 Git 建立 vcpkg 登錄
vcpkg 的 Git 型登錄是具有 vcpkg 所瞭解之特定配置的 Git 存放庫。
初始化 Git 登錄:
mkdir vcpkg-registry
cd vcpkg-registry
git init
2 - 建立登錄配置
vcpkg Git 型登錄需要下列各項:
- 名為
ports
的資料夾,包含登錄的埠, - 名為
versions
的資料夾,包含版本資料庫, - 資料夾中名為
baseline.json
的versions
檔案。
您的存放庫可以包含您想要的任何其他檔案,例如:腳本、LICENSE 檔案、檔案、 README.md
檔等。
1 - 建立 ports
和 versions
資料夾:
mkdir ports
mkdir versions
2 - 使用下列內容在 versions
資料夾中建立名為 baseline.json
的檔案:
{
"default": {}
}
最小的有效 baseline.json
檔案應該包含上述內容。 閱讀版本控制檔 ,以深入瞭解 baseline.json
檔案和版本資料庫。
3 - 將變更認可至存放庫
git add versions/baseline.json
git commit -m "Initial commit"
或者,如果您已設定遠端 Git 存放庫,這是推送變更的好點。
git remote add origin https://example.com/vcpkg-registry.git
git push --set-upstream origin HEAD
3 - 將埠新增至登錄
複製登錄資料夾中 ports
的所有套件埠。 每個埠都必須有自己的目錄,其中包含至少一個 vcpkg.json
檔案和一個 portfile.cmake
檔案。 在封裝 GitHub 存放庫 的 教學課程中深入瞭解如何建立埠。
git add ports/.
git commit -m "Add registry ports"
4 - 更新版本資料庫
登錄中的每個埠都必須有對應的版本檔案。 版本檔案是由 vcpkg x-add-version
命令所產生。 此命令也會更新 中每個埠的 version/baseline.json
基準專案。
若要一次更新所有埠的版本資料庫,請執行:
vcpkg --x-builtin-ports-root=./ports --x-builtin-registry-versions-dir=./versions x-add-version --all --verbose
和 --x-builtin-ports-root
--x-builtin-registry-versions-dir
是重新導向選項。
一般而言, x-add-version
命令會在 vcpkg 的內建登錄上運作;但是使用重新導向選項,就可以在本機 Git 登錄上使用 命令。
此選項 --all
可讓 vcpkg 掃描 ports
目錄中是否有所有可用的埠,並一次更新所有埠。 最後, --verbose
選項會讓命令列印它執行至標準輸出的每個作業,您可以移除此選項來隱藏輸出。
x-add-version
要求所有埠變更都已認可至登錄的 Git 存放庫。 若要深入瞭解,請閱讀 [ x-add-version
命令] 檔。
當所有輸出看起來都正確時,請執行:
git add .
git commit -m "Update versions database"
如果您有遠端 Git 存放庫,別忘了推送變更:
git push
後續步驟
就這麼簡單! 您已設定自己的私人 Git 型登錄,以搭配 vcpkg 使用。
以下是一些其他工作,可嘗試下一步: