概述
pubspec.yaml是dart项目使用的配置文件,使用YAML语言编写
用flutter开发需要了解pubspec的配置规则
pubspec.yaml示例:
image
pubspec有很多配置项,我们来一一介绍
配置项
name
- 必须项
- 必须是小写字母,用下划线分隔,例如: just_like_this
- 只能用基础拉丁字母和阿拉伯数字: [a-z0-9]
- 不能以数字开头,也不能是保留词
image
version
- 如果发布到pub.dev,则必须有version
- 本地开发可以没有version(如果没有version,则默认是0.0.0)
description
- 可选项
- 如果要发布package,则必须填写description,用英文填写
- 描述不要太长,在60 to 180字符之间
homepage
- 可选项
- 是一个指向包主页或者源码仓库的URL
repository
- 可选项
- 源码仓库的URL
issure_tracker
- 可选项
- 用于跟踪问题的URL
documentation
- 可选项
- 包说明的URL
dependencies
- name:包名
- version:版本号
- 约束符号
- ^
- ^version:版本号要与指定的版本兼容
- ^1.2.3相当于 '>=1.2.3 <2.0.0'
- ^0.1.2相当于'>=0.1.2 <0.2.0'
- 其他符号
- any
- 1.2.3
- >=1.2.3
- >1.2.3
- <=1.2.3
- <1.2.3
- ^
- 约束符号
- source:指定包来源
- sdk
- The SDK source is used for any SDKs that are shipped along with packages, which may themselves be dependencies
-
目前,flutter是唯一支持的sdk
image
- sdk
-
Hosted packages
-
从pub.dev或者其他地址下载的包
-
从pub.dev下载
image -
从其他地址下载
image
-
-
Git packages
-
如果包尚未发布或者正在开发哦,可以用git packages指定git仓库
image -
如果是私有仓库, 可以使用SSH链接到仓库
image
-
可以指定commit、分支、或者tag和其他git允许的引用
image
-
默认是使用仓库根目录,可以使用其他目录
image
-
- Path packages
-
依赖本地package工程
image
-
2. 可以使用相对路径
1. 相对的是pubspec文件的路径
3. 包含path依赖的工程无法上传到pub.dev,必须去除path依赖
dev_dependencies
开发使用的依赖,例如test、代码生成
dependency_overrides
- 用于临时替换依赖
-
替换为本地工程
image
-
替换为其他版本
image
environment
- 指定支持的sdk版本
-
约束dart sdk 版本
image
- 约束Flutter sdk版本
-
从Dart 1.19.0开始, pub支持在environment下设置Flutter SDK约束
image
-
executables
- 可选项
- 设置可以直接从命令行执行的脚本
- 申明可执行脚本:用key:value格式填写,如果不指定value会根据key推断
-
slidy对应bin/main.dart. fvm自动推荐为bin/fvm.dart
image
-
publish_to
- 可选项
- 设置发布包的地址
网友评论