私有PHP包管理应根据团队需求选择Satis或Private Packagist:Satis适合预算有限、需完全控制的静态部署;Private Packagist更适合高频发布、注重协作与自动同步的团队环境。

Satis 是一个静态的 Composer 仓库生成器,由 Composer 官方提供。它从指定的 VCS 源(如 Git)拉取包信息,生成一个可被 Composer 使用的 JSON 文件列表,并部署为静态站点。适合对安全性要求高、不频繁更新的场景。
Private Packagist 是一个商业托管服务(也支持自托管),提供完整的 Web 界面、自动同步、权限控制和 webhook 集成,更适合团队协作和高频发布的环境。
如果需要完全控制基础设施且预算有限,Satis 更合适;若追求易用性和维护效率,Private Packagist 是更优选择。
1. 全局安装 Satis:
composer global require composer/satis
2. 创建 satis.json 配置文件:
{
"name": "My Company Package Repository",
"homepage": "https://packages.example.com",
"repositories": [
{ "type": "vcs", "url": "https://git.example.com/internal/package-a" },
{ "type": "vcs", "url": "ssh://git@gitlab.internal/package-b.git" }
],
"require": {
"company/package-a": "^1.0",
"company/package-b": "^2.5"
}
}3. 生成静态仓库:
satis build satis.json web/
4. 将生成的 web/ 目录部署到 Web 服务器,确保可通过 HTTPS 访问。
5. 在项目中使用该仓库,在 composer.json 中添加:
"repositories": [
{
"type": "composer",
"url": "https://packages.example.com"
}
]之后即可像使用公共包一样 require 私有包。
1. 注册并登录 Private Packagist,创建组织账户。
2. 添加你的私有 Git 服务(GitHub、GitLab、Bitbucket Server 等),通过 OAuth 或 SSH 授权访问。
3. 在控制台添加包,可手动输入名称或自动扫描所有可见仓库。
4. 设置自动同步:当 Git 提交新标签或分支时,Private Packagist 会自动抓取并更新元数据。
5. 在本地项目中配置仓库:
"repositories": [
{
"type": "composer",
"url": "https://yourcompany.packagist.com"
}
]6. 添加认证信息,避免每次请求都弹出凭据框:
运行命令:composer config http-basic.yourcompany.packagist.com username token
凭证将保存在 auth.json 中,建议加入版本控制或 CI 环境变量。
确保所有私有包使用命名空间隔离,例如 acme/internal-user-bundle,避免与公开包冲突。
限制仓库访问权限,Satis 可通过 Nginx 做 Basic Auth,Private Packagist 支持用户角色和 IP 白名单。
定期清理旧版本,防止包体积膨胀。Satis 支持只包含特定版本,Private Packagist 提供删除功能。
将私有仓库地址统一写入公司模板项目的 composer.json,减少配置错误。
以上就是如何使用私有的Satis或Private Packagist来管理内部包的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号