推荐小团队用Satis(轻量免费、需自维护),中大型企业选Private Packagist私有部署版(功能全、权限细、支持实时同步与生命周期管理)。

直接用 Satis 或 Private Packagist 搭建公司内部 Composer 镜像,核心是让私有包能被 composer install 正常拉取,同时兼顾安全、可控和可维护性。Satis 轻量免费但需自行托管维护;Private Packagist 功能完整、支持 Web UI 和细粒度权限,但为商业服务(也提供私有部署版)。
Satis 是一个静态生成器,它扫描你指定的 Git 仓库(如 GitHub、GitLab、私有 Gitee),生成符合 Composer Repository 协议的 packages.json 和压缩包归档,整个结果可直接用 Nginx/Apache 托管。
composer create-project composer/satis --stability=stable
satis.json,例如:
{
"name": "acme/internal-packages",
"homepage": "https://packages.acme.com",
"repositories": [
{ "type": "vcs", "url": "https://git.acme.com/php/logger" },
{ "type": "vcs", "url": "https://git.acme.com/php/utils" }
],
"require-all": true,
"archive": {
"directory": "dist",
"format": "tar",
"skip-dev": true
}
}php bin/satis build satis.json web/,输出到 web/ 目录web/(确保 packages.json 可通过 https://packages.acme.com/packages.json 访问)composer.json 中添加:
"repositories": [
{ "type": "composer", "url": "https://packages.acme.com" }
]Private Packagist 提供两种部署方式:SaaS(托管在他们云上)或 On-Premise(Docker 容器私有部署)。后者适合对数据合规和网络隔离要求高的企业。
acme/* 仓库)acme/accounting-sdk)composer.json 加入:
"repositories": [
{ "type": "composer", "url": "https://packagist.acme.com" }
]composer config http-basic.packagist.acme.com token "" 或环境变量)无论选哪种方案,以下几点直接影响可用性:
repositories 列表中;Private Packagist 自动解析依赖图并同步闭包dev-main)直接发布到镜像;Satis 可设 "require-dependencies": false 控制是否拉取依赖源码小团队或 MVP 阶段,Satis 足够用,成本低、逻辑透明;中大型团队或已有合规审计要求,Private Packagist On-Premise 更省心——它不只是镜像,更是私有 PHP 包的生命周期管理平台。
以上就是如何通过Satis或Private Packagist搭建公司内部的Composer镜像?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号