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

Viewed 11861

I have dart packages that I don't want to publish to pub because of my company agreement. How to use my dart packages for only my company and not show on pub dart lang?

I've looked up on this link https://github.com/dart-lang/pub/issues/1050 but still need more information about that.

5 Answers

Günter Zöchbauer answer is correct but he hasn't provided it with examples.

So to use pub/package/lib without publishing on pub.dev :

1. Local - Save in some local folder

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

2. Hosted - Pushed on Github, Gitlab etc.

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

Or to target specific branch

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

Or to target specific commit

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

Where 'library_name' has to be the same as the 'name' declared in pubspec.yaml of that pub.

local :

To handle that, pub supports path dependencies.

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

This says the root directory for transmogrify is /Users/me/transmogrify.

See : https://www.dartlang.org/tools/pub/dependencies

You can also let someone else run the pub server (as a service): https://cloudsmith.io/l/dart-repository/

Although it's commercial (paid) for private repositories, it's free for public and open-source repositories. If you're looking for a serverless managed solution, it's the only alternative (as of writing).

Have a look at https://onepub.dev

It's a package repository written specifically for dart.

Related