如何在flutter项目中使用flutter.widgets的fork?

How to use a fork of flutter.widgets in a flutter project?

找到 this article,这似乎会为使用许多 pub 包的分叉版本提供足够的说明。

但是,我要 fork 的包 (scrollable_positioned_list) 是 flutter.widgets 存储库的一部分,它不是包本身,而是包的集合。

我已经能够分叉和修改包,但我的问题是无法在我的项目中使用我的分叉。

我试过显而易见的方法:

dependencies:
  flutter:
    sdk: flutter
  scrollable_positioned_list: 
    git: 
      url: https://github.com/bendelonlee/flutter.widgets

这会导致 flutter pub get 失败并显示错误:

pub get failed (1; Could not find a file named "pubspec.yaml" in https://github.com/bendelonlee/flutter.widgets 1f2935687390a9315c3336007a4eac00563365a4.)

确实,该目录的根目录中没有 pubspec.yaml,尽管包中嵌套了一个。

我也试过使用存储库中包的url

scrollable_positioned_list: 
    git: 
      url: https://github.com/bendelonlee/flutter.widgets/tree/master/packages/scrollable_positioned_list

失败并出现错误,抱怨找不到存储库:

fatal: repository 'https://github.com/bendelonlee/flutter.widgets/tree/master/packages/scrollable_positioned_list/' not found

应该添加路径参数,就像 official docs 状态:

Pub assumes that the package is in the root of the Git repository. To specify a different location in the repo, use the path argumen

在你的具体案例中,这将是

  scrollable_positioned_list:
    git:
      url: https://github.com/bendelonlee/flutter.widgets
      path: packages/scrollable_positioned_list