引用本地dart库

时间:2013-06-06 14:27:09

标签: dart dart-pub

我正在写4个dart库A,B,C和D,它们都处于早期开发阶段,所以我不想在pub上发布它们。

同样的情况是,只有A,B和C是公共库,它们都依赖于D,这些库应该只对这三个库是私有的。我如何管理这样的情况?

我可以使用pub在我的本地开发机器上安装A,B和C库D,但它没有发布吗?如何在没有发布D的情况下完成A,B和C的发布,如果A,B或C没有使用D,那么D是不是特别有用?

我已阅读getting started guidepackage structure文档,但似乎都没有涵盖此类情况,即如何管理私有库。还有this SO问题,但用户在解决问题后没有回答。

1 个答案:

答案 0 :(得分:6)

默认情况下,依赖项会解析为Pub,但您可以覆盖它以从URL,git和本地路径导入包。

例如,以下是导入本地包的语法:

dependencies:
  transmogrify:
    path: /Users/me/transmogrify

有关详细信息,请参阅Pub Dependencies

就问题的其他部分而言,我看不出A,B和C在逻辑上如何成为公共包并依赖于私有包。我会发布所有的包,只是包含在D的描述中,它不是一个独立的包,只是作为A,B和C的帮助包。

您还可以将A,B和C发布到Pub并在github或公共URL上托管D,并在pubspec中为A,B和C指定相关的URL依赖关系(请参阅上面的链接以获取正确的语法) 。这可能会使D与其他库之间的区别更加清晰,但实际上它们仍然是公开可用的包。