Satis 是一个轻量级私有 PHP 包仓库生成器,由 Composer 团队开发,通过 satis.json 配置文件抓取指定包(支持私有 Git 等源),生成静态 composer.json 和网页用于内部依赖管理;适合团队安全分发私有包,无需复杂服务,结合 HTTPS 与访问控制可高效运行。

Satis 是一个由 Composer 团队开发的静态包仓库生成器,它可以帮你创建一个私有的 PHP 包仓库。你不需要运行复杂的数据库或服务,Satis 会根据你的配置文件(通常是 satis.json)抓取指定的 Composer 包(可以是私有 Git 仓库、公开包或镜像),然后生成一个静态的 composer.json 文件和相关网页,供你在公司内部或其他私有环境中使用。
当你在团队或企业中开发多个私有 PHP 包时,不想把它们发布到公共的 Packagist 上,但又希望用 Composer 来统一管理依赖,这时 Satis 就非常有用。你可以通过私有仓库安全地分发这些包,并控制谁可以访问。
Satis 是一个命令行工具,可以通过 PHAR 或 Composer 全局安装:
确保你的 Composer 全局 bin 目录在系统 PATH 中,这样可以直接运行 satis 命令。
在项目根目录创建一个 satis.json 文件,定义你的仓库设置和要包含的包:
{ "name": "My Private Composer Repository", "homepage": "https://packages.example.com", "repositories": [ { "type": "vcs", "url": "git@github.com:mycompany/package-one.git" }, { "type": "vcs", "url": "https://github.com/mycompany/package-two" }, { "type": "package", "package": { "name": "vendor/existing-package", "version": "1.0.0", "dist": { "url": "https://example.com/dist/existing-package-1.0.0.tgz", "type": "tar" } }} ], "require-all": true, "output-dir": "web" }说明:
运行以下命令生成静态仓库:
Viggle AI Video
Powerful AI-powered animation tool and image-to-video AI generator.
115
查看详情
satis build satis.json ./web
这会拉取你配置中的所有包信息,并生成一个 web/composer.json 文件,以及一个可选的 HTML 页面用于浏览。
将输出目录(如 web/)部署到一个可通过 HTTPS 访问的 Web 服务器上(比如 Nginx 或 Apache)。假设你的域名是 packages.example.com,用户就可以通过这个地址访问仓库。
在你的 PHP 项目中,修改 composer.json,添加你的私有仓库:
{ "repositories": [ { "type": "composer", "url": "https://packages.example.com" } ], "require": { "mycompany/package-one": "^1.0" } }执行 composer install 时,Composer 会优先从你的私有仓库查找包。
你可以设置定时任务(如 cron)定期重新运行 satis build,以同步最新代码提交或标签:
0 * * * * /usr/local/bin/satis build /path/to/satis.json /path/to/web基本上就这些。Satis 轻量、稳定,适合中小型团队搭建私有包管理平台。只要配置好 Git 权限和 Web 访问控制,就能安全高效地管理私有 PHP 包。不复杂但容易忽略细节,比如权限和 HTTPS。
以上就是什么是Satis,如何用它搭建一个私有的composer仓库?的详细内容,更多请关注php中文网其它相关文章!
# 用它
# 龙岗网站建设制作推广
# 安庆seo搜索优化
# 北京正规网站定制推广
# seo推广手段有哪些
# 驿城区网络营销推广团队
# 法语自学网站建设管理
# 合肥网站优化哪家强
# 山西关键词排名推荐
# 乳山百度关键词排名优化
# 淘宝网店免费推广网站
# 访问控制
# 端到
# 创建一个
# 你在
# 你可以
# php
# 配置文件
# 如何解决
# 是一个
# AI-powered
# cur
# ssl
# 工具
# nginx
# github
# apache
# composer
# json
# git
# js
# html
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
《大周列国志》皇帝律令功能介绍
《顺丰同城骑士》查看我的技能方法
创建您的便携版VS Code:让配置随身携带
Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】
Lar*el Eloquent中通过Join查询关联数据表:解决多行子查询问题
Win10如何彻底关闭OneDrive Win10禁用云同步功能【纯净】
在VS Code中进行数据科学和机器学习开发
暴风影音官网正式版_暴风影音手机版官网下载安卓
泰拉瑞亚网页版在线登录入口 泰拉瑞亚官方正版入口
三角洲行动2025年9月10日摩斯密码分享
抖音如何解除|直播|权限绑定_抖音关闭并解绑|直播|功能的方法
如何在CSS中使用伪类:valid实现表单验证提示_结合:valid改变边框颜色
荣耀 Magic10 Pro 系统更新提示失败_荣耀 Magic10 Pro 升级修复
手机远程连接电脑方法
苹果电脑如何快速查看电池状态 苹果电脑电池信息快捷方法
msn官方入口2025登录 msn官网2025直达首页入口
悟空浏览器网页版链接 悟空浏览器网页版最新有效地址
Go语言反射机制:如何访问被嵌入结构体遮蔽的方法
AO3中文入口稳定分享_AO3官网HTTPS看文详解
J*aScript文本高亮功能优化:解决多词匹配错误与精确分割策略
抖音官网入口快速访问 抖音网页版账号注册解析
百度网盘如何设置上传限额
掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析
《偃武》甘宁技能详解
抖音如何进行蓝V认证 抖音企业号申请所需资料与流程
mysql怎么查询数据_mysql基础查询语句使用教程
悟空浏览器网页版在线工具 悟空浏览器网页版在线平台入口
小米手机截图后如何查看历史_小米手机截图历史记录查看方法
《爱笔思画x》涂色教程
SQL聚合查询、联接与筛选:GROUP BY 子句的正确使用与常见陷阱
realme 10 Pro息屏方案_realme 10 Pro省电策略
Pydantic 中“schema”字段命名冲突的解决方案
怎么恢复删除的电脑文件_数据恢复软件使用教程
向日葵客户端怎么进行语音通话_向日葵客户端语音通话功能使用方法
微信步数怎么刷_微信步数快速提升技巧
京东快递物流信息不更新怎么办_物流停滞原因与处理方法
iSpring三分屏制作教程
Excel如何设置动态下拉菜单_Excel表格下拉选项快速方法
天堂漫画网页版在线阅读 天堂漫画手机版入口
鲁班大师乓乓皮肤获取方法
漫蛙manwa漫画官网链接_漫蛙manwa最新可用网址推荐
抖音网页版官方链接 抖音网页版官网链接入口
Win10关闭UAC用户账户控制的方法 Win10降低安全提示等级【技巧】
win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】
德邦快递查询入口登录官网 德邦快递单号查询系统入口
J*aScript对象中深度嵌套URL键的查找与更新策略
抖音猜你想搜能说明对方搜过吗
mysql如何回滚事务_mysql ROLLBACK事务回滚方法
J*aScript包管理器_Npm与Yarn对比
2025-11-29
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。