dependency_overrides 对于具有路径依赖的依赖
dependency_overrides for dependency with path dependency
在 Flame 中,我们有一个带有 Flame 及其桥包的 monorepo,所有桥包都将 Flame 作为路径依赖项(不是在发布时)。似乎不可能同时依赖我们的主分支和主分支上的桥接库,我在 pubspec.yaml
文件中有这个:
dependencies:
flutter:
sdk: flutter
flame:
git:
url: git@github.com:flame-engine/flame.git
path: packages/flame
ref: main
flame_fire_atlas:
git:
url: git@github.com:flame-engine/flame.git
path: packages/flame_fire_atlas
ref: main
dependency_overrides:
flame:
git:
url: git@github.com:flame-engine/flame.git
path: packages/flame
ref: main
当做 pub get
我得到:
Error on line 15, column 11: Invalid description in the "flame_fire_atlas" pubspec on the "flame" dependency: "../flame" is a relative path, but this isn't a local pubspec.
╷
15 │ path: ../flame
│ ^^^^^^^^
╵
pub get failed (65; ╵)
表示未使用 dependency_override
,是否无法覆盖路径依赖性?
显然这是一个 bug 在 pub 中,目前解决它的唯一方法是将您需要的依赖项克隆到包期望它们的路径。
所以在这种情况下,我必须将我想使用的 flame 分支克隆到 ../flame
,与项目 pubspec 文件相关。
在 Flame 中,我们有一个带有 Flame 及其桥包的 monorepo,所有桥包都将 Flame 作为路径依赖项(不是在发布时)。似乎不可能同时依赖我们的主分支和主分支上的桥接库,我在 pubspec.yaml
文件中有这个:
dependencies:
flutter:
sdk: flutter
flame:
git:
url: git@github.com:flame-engine/flame.git
path: packages/flame
ref: main
flame_fire_atlas:
git:
url: git@github.com:flame-engine/flame.git
path: packages/flame_fire_atlas
ref: main
dependency_overrides:
flame:
git:
url: git@github.com:flame-engine/flame.git
path: packages/flame
ref: main
当做 pub get
我得到:
Error on line 15, column 11: Invalid description in the "flame_fire_atlas" pubspec on the "flame" dependency: "../flame" is a relative path, but this isn't a local pubspec.
╷
15 │ path: ../flame
│ ^^^^^^^^
╵
pub get failed (65; ╵)
表示未使用 dependency_override
,是否无法覆盖路径依赖性?
显然这是一个 bug 在 pub 中,目前解决它的唯一方法是将您需要的依赖项克隆到包期望它们的路径。
所以在这种情况下,我必须将我想使用的 flame 分支克隆到 ../flame
,与项目 pubspec 文件相关。