我写了两个flutter包
A
和B
。 A
取决于 B
使用 git
,
# A pubspec.yaml
dependencies:
B:
git: xxxxx
如果我在使用 git
A
和 B
的项目中同时依赖 url
和 ref
,
# App pubspec.yaml
dependencies:
A:
git:
url: xxxx
ref: 0.0.1
B:
git:
url: xxxx
ref: 0.1.0
我收到错误w
pub get
因为 demo_app 依赖于 git 中的 A,而 git 又依赖于 git 中的 B,所以需要 B from git {url: xxxx, ref: HEAD, path: .} 。 所以,因为 demo_app 依赖于 git {url: xxxx, ref: 0.1.0, path: .} 中的 B,版本解析失败。
我可以使用
dependency_overrides
来解决这个冲突。但是有没有更优雅的方法,例如使用不可知引用,例如 ref: any
代表包 A
?
在
App pubspec.yaml
文件中
添加dependency_overrides
,像这样
dependency_overrides:
B: {git: {url: 'xxx', ref: '0.1.0'}}