Pub - Dart/Flutter 包管理器 #

什么是 Pub? #

Pub 是 Dart 编程语言的官方包管理器,由 Dart 团队开发维护。它集成了包管理、依赖解析、版本控制、脚本运行等功能于一体,是 Dart 和 Flutter 开发不可或缺的核心工具。

核心功能 #

功能 描述
包管理 创建、配置和管理 Dart/Flutter 项目
依赖管理 声明、下载和管理外部依赖包
版本控制 语义化版本管理和约束解析
脚本运行 执行 Dart 脚本和自定义命令
包发布 将包发布到 pub.dev 仓库
缓存管理 本地包缓存和离线支持

文档结构 #

本指南按以下结构组织,适合初学者循序渐进学习:

第一阶段:基础入门 #

主题 描述 文档链接
Pub 简介 Pub 的历史、特点、核心概念 intro.md
安装与配置 安装 Dart SDK、环境配置、镜像源设置 installation.md
基本命令 常用命令详解:get、add、upgrade、run basic-commands.md
pubspec.yaml 详解 项目配置文件完整解析 pubspec.md

第二阶段:核心功能 #

主题 描述 文档链接
依赖管理 添加、更新、管理项目依赖 dependencies.md
发布包 发布到 pub.dev 的完整流程 publishing.md

第三阶段:进阶与最佳实践 #

主题 描述 文档链接
高级特性 私有仓库、依赖覆盖、缓存管理 advanced.md

快速开始 #

创建新项目 #

bash
# 创建 Dart 项目
dart create my_project

# 创建 Flutter 项目
flutter create my_app

# 进入项目目录
cd my_project

项目结构 #

text
my_project/
├── pubspec.yaml      # 项目配置文件
├── pubspec.lock      # 依赖锁定文件(自动生成)
├── lib/
│   └── main.dart     # 程序入口
├── bin/
│   └── my_project.dart  # 可执行文件
├── test/             # 测试文件
└── .dart_tool/       # 工具缓存(自动生成)

基本命令 #

bash
# 获取依赖
dart pub get

# 添加依赖
dart pub add http

# 运行项目
dart run

# 运行测试
dart test

# 升级依赖
dart pub upgrade

# 发布包
dart pub publish --dry-run

为什么选择 Pub? #

相比其他语言的包管理器 #

特性 Pub (Dart) npm (Node.js) pip (Python)
锁定文件 ✅ pubspec.lock ✅ package-lock.json ❌ 无
语义化版本 ✅ 原生支持 ✅ 支持 ⚠️ 基本支持
私有仓库 ✅ 支持 ✅ 支持 ✅ 支持
缓存管理 ✅ 内置 ✅ 内置 ⚠️ 需配置
脚本运行 ✅ dart run ✅ npm run ❌ 无

Pub 的优势 #

  1. 一体化体验:与 Dart SDK 紧密集成
  2. 确定性构建:pubspec.lock 确保团队构建一致
  3. 丰富的生态系统:pub.dev 拥有超过 4 万个包
  4. 优秀的性能:智能缓存、并行下载
  5. 安全可靠:内置安全审计、依赖验证

学习路径建议 #

text
入门阶段
├── 阅读 Pub 简介 → 了解基本概念
├── 完成安装配置 → 搭建开发环境
├── 学习基本命令 → 掌握日常操作
└── 理解 pubspec.yaml → 学会项目配置

进阶阶段
├── 掌握依赖管理 → 管理项目依赖
├── 学习版本约束 → 理解语义化版本
└── 发布包 → 分享你的代码

高级阶段
├── 使用高级特性 → 定制构建流程
└── 遵循最佳实践 → 提升开发效率

常用资源 #

开始学习 #

准备好开始了吗?从 Pub 简介 开始你的 Pub 学习之旅!

最后更新:2026-03-28