3

我正在为一个客户构建多个项目,它们往往具有我已将其分解为单独项目的通用代码。我正在尝试使用 DUB 来组织所有这些,但到目前为止,我不知道如何在不将这些常见项目添加为依赖项的情况下将它们发布到 github 之类的网站上并在 DUB 的公共注册表中注册它们。发布这些东西要么违反我的合同,要么将无趣的垃圾邮件放入 DUB 注册表(或两者兼而有之)。有什么方法可以在私有服务器上运行我自己的 DUB 注册表,并让它绘制所有常见的公共项目以及 LAN 可访问的 git repos 中的一些私有项目?

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

谢谢。

4

1 回答 1

2

您可以通过在dub-registry上使用您自己的--hostname参数并在dub 上提供您自己的参数来自行托管一个dub注册表。--registry

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

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

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

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

另一种可能性是添加本地包。这在开发过程中特别有用,当您想要使用该包测试带有一些库的包时。

dub add-local myrepo dub list

于 2017-06-21T20:29:00.363 回答