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/
相關文章
相關標籤/搜索