Package dependencies For Flutter

概念

依赖是一个pub包管理的核心概念,它在pubspec.yaml文件中被指定。开发人员只须要把本身直接依赖的包列出来,不须要写间接依赖的包,pub会帮咱们处理那些间接依赖,能够使用pub deps命令或者flutter packages pub deps命令查看包依赖信息。html

用法

dependencies:
    [依赖的包名]:
        [source]: 告诉pub这个包如何被定位,不是一个具体的pub siet或者是git url, 
        而是获取包的方式,这些方式有sdk、Hosted packages、Git packages、Path packages
        [description]: 让pub定位到source的额外信息
        version: 包的版本号

不一样source的写法

SDK(代表这个包来自于哪一个sdk,使用这个参数要求dart版本必须在1.19.0之上)
dependencies:
  flutter_driver:
    sdk: flutter
    version: ^0.0.1
Hosted packages(从pub site上下载的包)
dependencies:
  transmogrify:
    hosted:
      name: transmogrify
      url: http://your-package-server.com
    version: ^1.4.0
Git packages(从git上获取的包)
dependencies:
  kittens:
    git:
      url: git://github.com/munificent/kittens.git
      ref: some-branch
Path packages(依赖的本地文件)
dependencies:
  transmogrify:
    path: /Users/me/transmogrify

不一样的版本号约束写法

semantic versioning

例子:>=1.2.三、>1.2.三、<=1.2.三、<1.2.三、'>=1.2.3 <2.0.0'git

Caret syntax(要求dart版本号在1.8.3及以上,而且dart会把^转换成semantic versioning的形式)

例子:^1.3.0github

依赖类型

dependencies

项目中要依赖的包,例子以下:ide

dependencies:
  path: ^1.3.0
  collection: ^1.1.0
  string_scanner: ^0.1.2
dev_dependencies

放一些跟项目逻辑无关的依赖包,好比和test相关的, 例子以下:url

dev_dependencies:
  test: '>=0.5.0 <0.12.0'
dependency_overrides

覆盖dependencies包依赖,例子以下:code

dependency_overrides:
  transmogrify:
    path: ../transmogrify_patch/
相关文章
相关标签/搜索