2017-06-21 85 views
3

我正在爲一個客戶建立多個項目,他們傾向於將通用代碼分解爲單獨的項目。我正在嘗試使用DUB來組織所有這些,但到目前爲止,我無法弄清楚如何將這些常見項目添加爲依賴項,而無需將它們發佈到像github這樣的站點上,並將它們註冊到DUB的公共註冊表中。發佈這些東西可能會違反我的合同,或者將不感興趣的垃圾郵件放入DUB註冊表中(或兩者兼而有之)。有沒有什麼辦法可以在私人服務器上操作我自己的DUB註冊表,並且讓它可以在所有通常的公共項目以及局域網可訪問的git倉庫中的少數私人項目中進行圖形化繪製?有沒有辦法自主託管DUB註冊表?

這將使我無需製作大量的git子模塊。 :)

謝謝。

回答

1

您可以自己託管配音註冊表,方法是使用您自己的--hostname參數dub-registry並在dub上提供您自己的--registry參數。

或者,您可以在本地使用軟件包(或者如果軟件包放置在網絡驅動器上,則可以遠程使用)。配音wiki頁面「食譜」介紹瞭如何使用不在註冊表封裝工作:https://github.com/dlang/dub/wiki/Cookbook#working-with-submodules-or-packages-that-are-not-in-the-registry

與子模塊或不在註冊表

產品包是一種常見的做法是要麼有一個項目作爲主項目的 的git子模塊,或者將未註冊的項目用作依賴關係 進行開發。在此設置中,將項目設置爲取決於給定路徑上的 項目,而不是查找存儲庫,可以使用 。這裏有這樣一個包的例子:

{ "name": "dlang-org", "dependencies": { "libddoc": { "path": "./libddoc" }, "libdparse": { "path": "./libdparse" } } }

另一種可能性是添加本地包。在開發過程中,當您想使用該軟件包測試包含一些 庫的軟件包時,這是特別有用的 。

dub add-local myrepo dub list

+0

我不知道的那個特定的「依賴」的結構(我目前與「子包」和「主:子項目」打的「依賴性」符號),我不意識到添加本地,所以這是很好的信息。不幸的是,它不回答問題或解決問題:我真的更喜歡私人註冊表,因爲我試圖避免git子模塊和其他在同一局域網上的開發人員需要訪問相同的軟件包列表。我懷疑它讓我更接近:儘管在網絡文件共享上使用add-local就可以做到這一點。有沒有更好的辦法? – chadjoan

+0

還有git子樹 - 與git子模塊相比,所有源都存儲在... – greenify

+1

那麼你可以嘗試在配音上使用'--registry'參數並使用你自己的'--hostname'參數託管配音註冊表,如果你真的需要。 –

相關問題