Satis适合自建静态仓库,成本低且可控,需手动构建;Private Packagist为托管服务,支持自动同步与权限管理,省心但有费用。

搭建私有 Composer 仓库可以让你安全地托管和分发专有 PHP 包,避免将代码暴露在公共平台。Satis 和 Private Packagist 是两种主流方案,各有适用场景。下面分别说明如何使用它们。
Satis:自建静态包仓库
Satis 是一个轻量级工具,由 Composer 团队开发,用于生成静态的 Composer 仓库页面。它适合对成本敏感、希望完全掌控部署环境的团队。
1. 安装 Satis
通过 Composer 全局安装 Satis:
composer global require composer/satis
2. 配置 satis.json
创建配置文件 satis.json,定义仓库源和输出目录:
{ "name": "My Private Packages", "homepage": "https://packages.example.com", "repositories": [ { "type": "vcs", "url": "https://github.com/myorg/private-package" } ], "require-all": true, "output-dir": "web"}
你也可以手动指定需要打包的版本:
"require": { "myorg/private-package": "^1.0"}
3. 生成静态仓库
运行以下命令生成 HTML 和 packages.json 文件:
satis build satis.json .
生成的内容会放在 web 目录中,可通过 Nginx 或 Apache 托管。
4. 在项目中使用私有仓库
在项目的 composer.json 中添加仓库:
"repositories": [ { "type": "composer", "url": "https://packages.example.com" }]
之后就可以正常 require 私有包了。
Private Packagist:托管型私有仓库服务
Private Packagist 是一个商业服务(提供免费基础版),简化了私有包管理流程,支持自动同步 VCS(GitHub、GitLab 等)、权限控制和 Webhook 自动构建。
1. 注册并登录
访问 https://www.php.cn/link/1fd1df658a0a3d7f385185db7c9c5029,注册账号并创建组织。
2. 添加 VCS 源
连接你的 GitHub、GitLab 或 Bitbucket 账号,授权 Private Packagist 访问私有仓库。
3. 同步包
在控制台点击“Add Package”,选择已连接的私有仓库。系统会自动分析 composer.json 并加入索引。
4. 配置认证
Private Packagist 使用 API Token 进行身份验证。在本地执行:
composer config --global http-basic.packagist.com username token
或在项目 composer.json 的 auth 部分写入凭证。
5. 使用私有包
只要仓库已同步,就可以像使用 Packagist 一样 require 包:
composer require myorg/private-package
Composer 会自动从 packagist.com 拉取信息和下载包。
选择建议
如果你追求低成本、可定制性强且能自行维护服务器,Satis 是合适选择。它生成的是纯静态文件,部署简单,但需要手动触发构建或设置 CI/CD 流程来保持更新。
如果团队更关注效率、自动化和权限管理,Private Packagist 更省心。它支持自动同步、细粒度用户权限、私有镜像公共包等功能,适合中大型团队。
基本上就这些。根据你的运维能力和团队规模选一种方式即可。Satis 灵活但需自己操心,Private Packagist 开箱即用但涉及费用。
以上就是如何使用Satis或Private Packagist搭建私有Composer仓库?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/133636.html
微信扫一扫
支付宝扫一扫