Satis是开源的静态仓库生成器,适合小型团队自建私有包服务;Private Packagist为商业化方案,支持自动同步与细粒度权限管理,适用于中大型企业。

在使用 Composer 管理 PHP 项目依赖时,有时需要托管私有包,比如公司内部的组件库。由于这些包不能公开发布到 Packagist.org,就需要搭建私有包仓库。Satis 和 Private Packagist 是两种常见方案,下面介绍它们如何帮助你搭建 Composer 私服。
Satis 是一个静态的 Composer 仓库生成器,由 Composer 官方团队维护。它本质上是一个“轻量级的 Packagist”,可以从指定的 VCS(如 Git)源抓取私有包信息,然后生成一个可供 Composer 使用的 packages.json 文件。
核心特点:
composer global require composer/satis
satis.json 配置文件,定义仓库和包:
{
"name": "My Private Repository",
"homepage": "https://packages.example.com",
"repositories": [
{ "type": "vcs", "url": "git@gitlab.com:company/private-lib.git" },
{ "type": "vcs", "url": "https://github.com/company/another-private-package" }
],
"require-all": true
}
satis build satis.json public/
public/ 目录通过 Web 服务器暴露(如 https://packages.example.com)composer.json 中添加仓库:
"repositories": [
{
"type": "composer",
"url": "https://packages.example.com"
}
]
composer require company/private-lib 即可安装Private Packagist 是一个商业化的私有包托管服务,也提供自托管版本(Enterprise)。它功能更全面,适合中大型团队或企业。
主要优势:
composer.json
"repositories": [
{
"type": "composer",
"url": "https://your-domain.packagist.com/packages/"
}
],
"config": {
"http-basic": {
"your-domain.packagist.com": {
"username": "your-email@example.com",
"password": "your-api-token"
}
}
}
composer install 即可下载私有包根据团队规模和需求选择合适的方案:
Private Packagist 虽然是付费服务,但节省了运维成本和开发时间,对于企业来说性价比更高。
无论使用哪种方式,都要注意安全性:
composer.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号