如何配置Satis使其仅使用单个版本(本地Zip包)而非完整仓库?
Satis配置:仅使用GitHub最新版本Zip包
要实现仅拉取指定GitHub仓库的最新版本Zip包,你需要将原有的GitHub类型仓库配置替换为package类型的仓库配置,具体操作如下:
核心配置修改
在Satis的repositories块中,用package类型替代原有的vcs/github类型,手动指定单个Zip包的资源信息。
具体配置示例
{ "name": "My Satis Repository", "homepage": "https://your-satis-url.com", "repositories": [ { "type": "package", "package": { "name": "your-vendor/your-package", "version": "1.2.3", // 填写该包的最新版本号 "dist": { "url": "https://github.com/your-vendor/your-package/archive/refs/tags/1.2.3.zip", // 替换为对应版本的Zip包地址 "type": "zip" }, "autoload": { // 复制原仓库composer.json中的autoload配置 "psr-4": { "YourVendor\\YourPackage\\": "src/" } }, "require": { // 复制原仓库composer.json中的依赖配置 "php": ">=7.4" } } } ], "require-all": true }
关键注意事项
- 版本号必须明确:Satis依赖
version字段识别包的版本,必须填写与Zip包对应的版本号(比如最新tag的版本号) - Zip包地址要准确:如果用分支最新代码,地址格式为
https://github.com/用户名/仓库名/archive/refs/heads/分支名.zip;如果用指定tag,格式为https://github.com/用户名/仓库名/archive/refs/tags/版本号.zip - 同步原包配置:
autoload、require等字段需要和原仓库的composer.json保持一致,否则Composer无法正常加载依赖和自动加载类 - 避免版本冲突:如果之前配置过该包的其他仓库类型,需要删除旧配置,防止Satis拉取多个版本
后续操作
配置完成后,重新运行satis build命令生成静态仓库;如果本地Composer有缓存,执行composer clear-cache清理缓存,确保拉取最新配置的Zip包。
内容的提问来源于stack exchange,提问作者pileup
相关产品推荐
相关产品推荐

