Satis 是轻量级私有 Composer 包仓库工具,通过配置 satis.json、生成静态文件并部署 Web 服务,实现私有 PHP 包集中管理与安装。

Satis 是一个轻量级的 Composer 包仓库生成工具,可以用来搭建私有的 PHP 包管理源。通过 Satis,你可以把公司内部的私有包集中管理,并用 Composer 安装和更新。下面是如何一步步搭建 Satis 私有源。
准备环境
确保服务器上已经安装了以下软件:
PHP(建议 7.4 或以上)ComposerGit(用于拉取私有包)Web 服务器(如 Nginx 或 Apache)
如果还没安装 Composer,可以通过以下命令安装:
curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin –filename=composer
安装 Satis
推荐使用全局安装方式获取 Satis:
composer global require composer/satis
确保你的 ~/.composer/vendor/bin 在系统 PATH 中,这样可以直接运行 satis 命令。
配置 satis.json
在项目目录下创建 satis.json 文件,定义你的私有源信息和包含的包:
{“name”: “My Private Package Repository”,”homepage”: “https://www.php.cn/link/3fc6ae40bfc04ae4123761055e639bc2″,”repositories”: [{“type”: “vcs”,”url”: “git@github.com:mycompany/package-a.git”},{“type”: “vcs”,”url”: “https://www.php.cn/link/34d9646a6c7d6c0de3ece3de6f06a91f”}],”require-all”: true}
说明:
name:私有源名称homepage:对外访问地址repositories:列出所有要收录的私有包仓库require-all:自动包含所有版本。也可以用 require 指定具体版本,例如:
“require”: {
“mycompany/package-a”: “dev-main”
}
如果你的 Git 仓库是私有的,确保服务器已配置 SSH 密钥能访问这些仓库。
生成静态包列表
运行以下命令生成 HTML 和 packages.json 文件:
satis build satis.json ./web
这会把生成的文件输出到 ./web 目录,包括:
AI建筑知识问答
用人工智能ChatGPT帮你解答所有建筑问题
22 查看详情
index.html(可视化页面)packages.json(Composer 读取的元数据)
配置 Web 服务
将 ./web 目录设为 Web 根目录。以 Nginx 为例:
server { listen 80; server_name packages.example.com; root /path/to/web; index index.html;
location / { try_files $uri $uri/ =404;}
}
确保域名解析正确,HTTPS 推荐启用,尤其是涉及私有代码时。
在项目中使用私有源
在需要使用私有包的项目 composer.json 中添加仓库:
{ “repositories”: [ { “type”: “composer”, “url”: “https://www.php.cn/link/3fc6ae40bfc04ae4123761055e639bc2” } ], “require”: { “mycompany/package-a”: “^1.0” }}
然后运行:
composer install
Composer 会从你的私有源拉取包信息并安装。
自动化更新(可选)
可以设置定时任务定期重建 Satis 静态文件,比如每天同步一次:
# crontab -e0 2 * * * cd /path/to/satis && /home/youruser/.config/composer/vendor/bin/satis build satis.json ./web
或者结合 CI/CD 工具,在推送新版本后触发构建。
基本上就这些。Satis 简单高效,适合中小型团队维护私有 PHP 包。不复杂但容易忽略权限和自动更新机制。
以上就是Satis怎么搭建composer私有源的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/532217.html
微信扫一扫
支付宝扫一扫