如何使用我的dart包私有且不在pub dart lang上显示?

时间:2019-01-11 09:31:47

标签: dart flutter dart-pub

由于我的公司协议,我有不想发布到dart包的信息。如何仅在我的公司使用我的dart软件包,而不在pub dart lang上显示?

我已经查看了此链接https://github.com/dart-lang/pub/issues/1050,但仍需要更多有关此信息。

4 个答案:

答案 0 :(得分:4)

如果您将软件包发布到https://pub.dartlang.org,它将显示出来。没有办法解决。

替代品。

您可以使用

  • 例如,路径依赖关系到存储在本地或网络驱动器上的软件包。
  • Git对存储在Git存储库中的软件包的依赖关系
    • 在本地或网络驱动器上
    • 托管在GitHub,GitLab或任何其他Git服务器上
  • 运行您自己的私人Pub服务器。

另请参见

答案 1 :(得分:2)

Günter Zöchbauer 的回答是正确的,但他没有提供示例。

所以要使用 pub/package/lib 而不在 pub.dev 上发布:

1.本地 - 保存在某个本地文件夹中

dependencies:
  library_name:
   path: /path/to/library_name

2.托管 - 在 Github、Gitlab 等上推送

dependencies:
  library_name:
   git: https://github.com/username/library_name

或定位精确分支

dependencies:
  library_name:
   git:
    url: https://github.com/username/library_name.git
    ref: dev    #branch name

或者以精确提交为目标

dependencies:
  library_name:
   git:
    url: https://github.com/username/library_name.git
    ref: e234072340    #commit reference id

其中“library_name”必须与该酒吧的 pubspec.yaml 中声明的“name”相同。

答案 2 :(得分:0)

本地:

为此,pub支持路径依赖性。

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

这表示transmogrify的根目录是/ Users / me / transmogrify。

请参阅: https://www.dartlang.org/tools/pub/dependencies

答案 3 :(得分:0)

您还可以让其他人运行发布服务器(作为服务): https://cloudsmith.io/l/dart-repository/

尽管它是商业的(收费的)私人存储库,但它对于公共存储库和开源存储库都是免费的。如果您正在寻找无服务器托管解决方案,那么这是唯一的选择(截至撰写时)。