You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何搭建团队私有Dart包仓库并配置pub拉取私有包?

搭建私有Dart Pub仓库并配置使用指南

一、选择私有Pub仓库方案

最直接的入门方案是使用官方提供的pub_server工具,它轻量易部署,完全满足团队内部包共享需求。如果需要更完善的权限管理和集成能力,也可以基于GitLab/GitHub Packages搭建,但pub_server是快速落地的首选。

二、搭建私有Pub仓库

1. 准备Dart环境

搭建仓库的机器和团队成员本地都需要安装Dart SDK。

2. 安装pub_server

在仓库机器上执行命令:

dart pub global activate pub_server

3. 启动私有仓库

执行以下命令启动,指定端口和持久化存储目录(确保目录有读写权限):

dart pub global run pub_server serve --port 8080 --database-dir ./team_pub_repo
  • --port:自定义仓库服务端口,比如8080
  • --database-dir:指定包元数据和文件的存储目录,重启仓库后数据不会丢失

4. 配置权限验证(必做)

默认pub_server无权限限制,任何人都能上传/下载包,团队使用必须添加验证:
用Nginx做反向代理并配置Basic Auth:

  1. 安装Nginx,用htpasswd命令创建密码文件(比如/etc/nginx/.htpasswd)并添加授权用户
  2. 修改Nginx配置,反向代理到仓库端口:
server {
  listen 80;
  server_name 你的仓库内网IP或域名;

  auth_basic "团队私有Pub仓库";
  auth_basic_user_file /etc/nginx/.htpasswd;

  location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host;
  }
}
  1. 重启Nginx,此时访问仓库需要输入用户名密码

三、配置本地Pub使用私有仓库

1. 全局配置(所有项目生效)

在终端执行:

dart pub config add repository team-pub-repo http://你的仓库地址:8080

如果配置了Basic Auth,可直接在URL中携带用户名密码(或执行命令时按提示输入):

dart pub config add repository team-pub-repo http://用户名:密码@你的仓库地址:8080

2. 项目级配置(仅当前项目生效)

在项目根目录的pubspec.yaml中,为特定私有包指定来源:

dependencies:
  你的自定义包名:
    hosted:
      name: 你的自定义包名
      url: http://你的仓库地址:8080
      version: ^1.0.0

四、上传与拉取私有包

1. 上传包到私有仓库

在自定义包的根目录执行:

dart pub publish --server http://你的仓库地址:8080

按提示完成权限验证即可。注意每次更新包必须递增pubspec.yaml中的version字段。

2. 拉取私有包

在项目中添加依赖后,执行:

dart pub get

Pub会自动从配置的私有仓库拉取对应版本的包。

注意事项

  • 确保私有仓库地址在团队内部网络可访问(内网IP或VPN)
  • 定期备份database-dir目录,防止数据丢失
  • 包版本遵循语义化版本规范,避免版本冲突

内容的提问来源于stack exchange,提问作者Random Questions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:07:28