有没有办法自我托管DUB注册表?

时间:2017-06-21 20:02:43

标签: d dub

我正在为客户构建多个项目,他们倾向于使用通用代码,我已将其分解为单独的项目。我尝试使用DUB来组织所有这些,但到目前为止,我无法弄清楚如何将这些常见项目作为依赖项添加,而无需在github等网站上发布它们并在DUB'中注册它们。公共登记处。发布这些内容会违反我的合同或将无趣的垃圾邮件放入DUB注册表(或两者)。有没有什么方法可以在私有服务器上运行我自己的DUB注册表,并让它绘制所有常用的公共项目以及一些局域网可访问的git repos中的一些私有项目?

这将使我免于制作大量的git子模块。 :)

感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用dub-registry上自己的--hostname参数自行托管配音注册表,并在dub上提供您自己的--registry参数。

或者,您可以在本地(或远程,如果包放在网络驱动器上)使用您的包。 Dub wiki page" Cookbook"解释了如何使用非注册表中的包:https://github.com/dlang/dub/wiki/Cookbook#working-with-submodules-or-packages-that-are-not-in-the-registry

  

使用不在注册表中的子模块或包

     

通常的做法是将项目作为git子模块   主项目,或使用未注册的项目作为依赖项   发展。在此设置中,将项目设置为依赖于a   项目在给定的路径上,而不是查找存储库,可以   方便的。以下是此类软件包的示例:

     

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

     

另一种可能性是添加本地包。这特别有用   在开发期间,当你想用一些测试包   使用该软件包的库。

     

dub add-local myrepo dub list