Repolode
composer

composer/satis

一个命令行工具,可根据配置的来源生成静态 Composer 包仓库,便于 PHP 团队托管私有或精选依赖。

可替代:Private Packagist

Star
3,305
Fork
534
未关闭 Issue
97
最近提交
24小时前

这是什么?

Satis 是一个用 PHP 编写的工具,用于生成静态 Composer 仓库。你只需提供一个列出所需包的配置文件,它就会生成一组 Composer 可直接读取的静态文件,效果类似 Packagist。生成的结果可以部署到任意静态文件服务器上,包括本地或 Docker 容器,无需数据库或动态后端。

团队借助它可以自主控制分发给项目的包,便于安全审查,也有助于加快依赖安装。运行方式是从源码安装后,用一条命令指定配置文件和输出目录即可构建仓库,也可以直接使用 Docker 镜像运行。

项目还提供 purge 命令,用于清理已不再被任何 composer.lock 引用的归档文件。项目基于 MIT 协议开源。

核心功能

  • 01根据配置文件生成静态 Composer 仓库。
  • 02生成的结果可部署在任意静态文件服务器上,包括本地或 Docker 环境。
  • 03提供 purge 命令,删除不再被引用的包归档文件。
  • 04支持通过 PHP 源码或 Docker 镜像运行。

适用场景

  • 为企业内部托管私有 PHP 包,无需付费的仓库服务。
  • 将精选依赖通过 GitHub Pages 或其他静态主机分发给项目。
  • 为选定的公共包提供可控的 Composer 镜像。

快速上手

  1. 1

    使用 Composer 安装 Satis

    composer create-project --keep-vcs --no-dev composer/satis:dev-main
  2. 2

    根据配置文件构建仓库

    php bin/satis build <configuration-file> <output-directory>

使用前须知

  • 需要较新的 PHP 版本,不支持已停止维护的 PHP 版本。
  • 安装命令使用的是开发分支 dev-main,而非带标签的正式版本。

收录于专题

标签

#php#composer#package-repository#static-site#private-packages#dependency-management#hacktoberfest#packagist#static-packagist#static-repository

常见问题

satis 是什么?
一个命令行工具,可根据配置的来源生成静态 Composer 包仓库,便于 PHP 团队托管私有或精选依赖。 Satis 是一个用 PHP 编写的工具,用于生成静态 Composer 仓库。你只需提供一个列出所需包的配置文件,它就会生成一组 Composer 可直接读取的静态文件,效果类似 Packagist。生成的结果可以部署到任意静态文件服务器上,包括本地或 Docker 容器,无需数据库或动态后端。
satis 可以免费使用吗?用的什么许可证?
satis 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
satis 还在维护吗?
活跃维护中。satis 最近一次提交是在 2026年11月6日。
satis 适合用来做什么?
为企业内部托管私有 PHP 包,无需付费的仓库服务。 将精选依赖通过 GitHub Pages 或其他静态主机分发给项目。 为选定的公共包提供可控的 Composer 镜像。
satis 怎么安装和运行?
使用 Composer 安装 Satis: composer create-project --keep-vcs --no-dev composer/satis:dev-main 根据配置文件构建仓库: php bin/satis build <configuration-file> <output-directory>
在哪里获取 satis?
源代码和安装说明在 GitHub 上:https://github.com/composer/satis

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目