什么是Satis,如何用它搭建一个私有的composer仓库?


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

什么是satis,如何用它搭建一个私有的composer仓库?

Satis 是一个由 Composer 团队开发的静态包仓库生成器,它可以帮你创建一个私有的 PHP 包仓库。你不需要运行复杂的数据库或服务,Satis 会根据你的配置文件(通常是 satis.json)抓取指定的 Composer 包(可以是私有 Git 仓库、公开包或镜像),然后生成一个静态的 composer.json 文件和相关网页,供你在公司内部或其他私有环境中使用。

为什么使用 Satis?

当你在团队或企业中开发多个私有 PHP 包时,不想把它们发布到公共的 Packagist 上,但又希望用 Composer 来统一管理依赖,这时 Satis 就非常有用。你可以通过私有仓库安全地分发这些包,并控制谁可以访问。

安装 Satis

Satis 是一个命令行工具,可以通过 PHAR 或 Composer 全局安装:

  • 推荐方式:使用 Composer 全局安装
composer global require composer/satis

确保你的 Composer 全局 bin 目录在系统 PATH 中,这样可以直接运行 satis 命令。

  • 或下载 PHAR 文件
curl -sSL https://getcomposer.org/download/latest-stable/satis.phar -o satis.phar

配置 satis.json

在项目根目录创建一个 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" }

说明:

  • name / homepage:仓库名称和访问地址
  • repositories:列出你要抓取的包源,支持 Git、SVN、Mercurial 等 VCS 类型,也支持直接打包
  • require-all:自动包含所有版本(按标签)
  • 你也可以用 "require" 字段精确控制哪些包和版本被包含,例如:
    "require": {
    "mycompany/package-one": "^2.0"
    }
  • output-dir:生成的静态文件存放路径

生成仓库

运行以下命令生成静态仓库:

Viggle AI Video Viggle AI Video

Powerful AI-powered animation tool and image-to-video AI generator.

Viggle AI Video 115 查看详情 Viggle AI Video 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 会优先从你的私有仓库查找包。

安全建议

  • 使用 HTTPS 防止中间人攻击
  • 配合 HTTP Basic Auth 或 IP 白名单限制访问
  • 私有 Git 仓库应配置 SSH 密钥或令牌进行认证,Composer 会使用系统的 Git 凭据

自动化更新

你可以设置定时任务(如 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

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.