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