如何私人使用我的飞镖包而不显示在 pub dart lang 上?

How to use my dart packages private and not show on pub dart lang?

由于我的公司协议,我不想发布到 pub 的 dart 包。如何只为我的公司使用我的 dart 包而不显示在 pub dart lang 上?

我已经查看过这个 link https://github.com/dart-lang/pub/issues/1050 但仍然需要更多相关信息。

如果您将包发布到 https://pub.dartlang.org,它就会显示出来。没有办法解决这个问题。

备选方案。

您可以使用

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

另见

本地:

为了解决这个问题,pub 支持路径依赖。

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

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

查看: https://www.dartlang.org/tools/pub/dependencies

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

虽然私有存储库是商业(付费)的,但 public 和开源存储库是免费的。如果您正在寻找无服务器托管解决方案,它是唯一的选择(截至撰写本文时)。

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' 相同那家酒吧的。