How to set version constraints when depending on git packages using Flutter/Dart with versions below 1.0.0?

412

Judging by the documentation on pubspec.yaml dependencies, Git dependencies use the ref key to specify the version to pull from the repository. dart pub and flutter pub don't know how to search through your repository for a package version, so the latest commit on the master branch is chosen by default.

Share:
412
Admin
Author by

Admin

Updated on December 30, 2022

Comments

  • Admin
    Admin over 1 year

    I am trying to set constraints for git package dependencies with versions below 1.0.0; however, it might also be versions above, but not sure.

    Flutter project depends on two packages that we're hosting on git repositories.

    We're referencing them in our pubspec.yaml as git packages

    According to the Dart.dev dependencies docs: ^0.1.2 is equivalent to '>=0.1.2 <0.2.0'

    However, it's always fetching the latest version on github regardless of our version constraints.

    Here is how we are referencing package in our pubspec.yaml like this:

    my_private_package:
        git:
          url: ssh://[email protected]/my_private_package/my_private_package.git
          ref: develop
          version: ^0.30.0
    

    For example: If we have a branch in this repo that's versioned 0.32.1 the code above doesn't seem to work(or rather respect the version constraints) and will simply get 0.32.1 version rather than 0.30.x

    Does anyone know how to prevent the flutter pub get command from pulling 0.32.1 in this instance? Is the caret constraint not working because we're pulling from a git repository maybe?