2016-12-05 71 views
1

我正在使用柯南0.16.0,我無法確定如何在本地商店中安裝軟件包。 我的想法是創建一個配方,從配方創建我想要的每個軟件包,將它們安裝在本地存儲中,然後將它們上載到Conan服務器上,以便其他開發人員可以使用它們,而不必重新編譯軟件包,因爲它們已經是可用。如何在本地商店安裝包?

我真正做到:

  • 創建使用conan export user/channel
  • 配方
  • (我的構建和輸出方法conanfile.py)我安裝在本地存儲我檢查,我可以通過做conan build
  • 建立我創建了一個包mkdir mypackagecd mypackageconan package ..
  • 然後,我不知道浩w至當地商店安裝該軟件包(之後,我想從本地存儲上傳的配方&包到服務器)

我發現有我的包的唯一辦法在當地商店有另一個配方需要先前的配方,然後製作一個conan install --build。我的第一個配方包將會建立,並將出現在我的本地商店,但這種方式迫使我創造「假」的要求,以實現我的目標。

有什麼辦法可以爲我想要的設置構建我的包,然後直接將它們安裝在本地存儲中?

回答

2

conan docs您必須conan install創建一個包。 conan build命令僅用於構建本地項目,而不用於構建您已導出的程序包。

實際上,創建和測試軟件包的首選方法是使用test_package功能,請按照the tutorial。一般來說,這些文檔是用像時尚這樣的非常教程編寫的,我建議遵循它們。

如果您檢查文檔或命令行幫助到conan package它會告訴你這是一個只用於調試的命令,並且將用於罕見的事件中。沒有它,你可以完美地工作。

+0

換句話說,爲特定的目標創建一個二進制包,我必須通過創建另一個需要我的二進制包的包配方或通過'test_package'使用包來使用包配方。但我不能直接做一個構建和安裝。 'test_package'更安全,因爲這樣我就可以確保我的庫已經正確構建。適用於我:) – dkg

+0

是的,你也可以做一個'conan安裝Pkg/[email protected]/channel --build -g txt'',它也會創建這個包,並生成一個包含這個包的信息的文本文件,包括目錄,庫名稱。你也可以使用''-g cmake''來生成一個cmake文件來包含在你的項目中。但是這種方法是手動且容易出錯的。我認爲通過從另一個項目鏈接來確保程序包正在工作,並使用conanfile或test_package功能更加方便和明確,會更好。 – drodri

相關問題