搭建私有包仓库可安全高效共享Composer包,常用方案为Satis(自建)和Private Packagist(托管)。1. Satis需安装并配置satis.json,指定VCS仓库与输出目录,生成静态packages.json并通过Web服务部署,团队在composer.json中添加仓库URL即可使用;2. Private Packagist为商业服务,注册后绑定代码平台账号,自动同步私有包,配置http-basic认证后可在项目中引入。建议启用HTTPS、限制访问权限、定期维护,并根据团队规模选择方案。

搭建私有包仓库的核心目标是让团队能安全、高效地共享和管理内部的 Composer 包。常用方案有两种:Satis(开源免费)和 Private Packagist(商业服务)。下面分别介绍如何部署这两种方式,供团队使用。
Satis 是 Composer 官方推荐的静态包列表生成器,适合中小型团队自建私有仓库。它通过扫描指定的 VCS(如 Git)地址,生成一个可被 Composer 使用的 packages.json 文件。
1. 安装 Satis
全局安装 Satis:
composer global require composer/satis
或使用项目方式安装:
composer create-project composer/satis --stability=dev --no-interaction
2. 配置 satis.json
在项目根目录创建 satis.json,示例配置:
说明:
repositories 列出所有需要收录的私有包 Git 地址require-all: true 表示自动包含所有分支和标签(按 semver)output-dir 指定生成静态文件的目录,建议设为 Web 可访问路径3. 生成静态仓库
运行命令生成 packages.json:
php bin/satis build satis.json
输出后会在 web/ 目录下生成 packages.json 和相关 HTML 页面。
4. 部署 Web 服务
将 web/ 目录配置为 Web 根目录,例如 Nginx:
确保 HTTPS(推荐)并设置访问权限(如 Basic Auth 或 IP 白名单)。
5. 团队使用私有仓库
在项目 composer.json 中添加仓库:
然后即可正常 require 私有包:
composer require company/package-a
注意:需确保团队成员有权限访问 Git 仓库(可通过 SSH 公钥或 HTTPS Token)。
Private Packagist 是官方提供的商业私有仓库服务,支持自动同步、权限管理、审计日志等,适合中大型团队。
1. 注册账号
访问 https://www.php.cn/link/1fd1df658a0a3d7f385185db7c9c5029 注册企业账号,选择合适套餐。
2. 创建组织与仓库
登录后台,创建组织(Organization),添加成员和权限角色。
3. 添加私有包源
支持多种来源:
添加后,Private Packagist 会自动抓取版本并生成可用的 Composer 源。
4. 配置客户端访问
在本地或 CI 环境中配置认证:
运行:
composer config http-basic.packagist.company.com username token
或手动编辑 auth.json:
5. 在项目中使用
添加仓库地址:
{ "repositories": [ { "type": "composer", "url": "https://www.php.cn/link/1fd1df658a0a3d7f385185db7c9c5029pany.com" } ] }之后即可安装私有包,如同使用 Packagist.org。
无论使用哪种方案,都应注意以下几点:
auth.json 以自动拉取私有包基本上就这些。Satis 灵活可控但需自行维护,Private Packagist 功能完整省心但有成本。根据团队规模和技术能力选择即可。
以上就是composer如何搭建自己的私有包仓库(Satis/Private Packagist)_部署私有仓库供团队使用的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号