确保 PHP 包已配置 composer.json 并推送到私有 Git 仓库,打上版本 tag;2. 配置 satis.json 指定仓库地址和所需包版本;3. 运行 php bin/satis build 生成静态仓库;4. 在目标项目中添加 Satis 仓库源并执行 composer install 安装包。
发布一个 Composer 包到私有的 Satis 仓库,核心是两个步骤:打包你的 PHP 库并提交到版本控制系统(如 Git),然后配置 Satis 来抓取这个包。下面详细说明每一步操作。
1. 准备你的 Composer 包
确保你的 PHP 包已经正确配置了 composer.json 文件,这是 Composer 识别包的基础。
示例 composer.json:
{ "name": "your-company/your-package", "description": "A sample private package", "type": "library", "version": "1.0.0", "autoload": { "psr-4": { "YourCompanyYourPackage": "src/" } }, "license": "MIT", "authors": [ { "name": "Your Name", "email": "you@example.com" } ] }
注意:
- name 必须唯一,建议使用公司或团队名作为前缀。
- 确保代码已推送到私有 Git 仓库(如 GitLab、GitHub Private Repo 或自建 Git 服务)。
- 打上 Git tag,例如 v1.0.0 或 1.0.0,Satis 通过 tag 识别版本。
2. 配置私有 Satis 仓库
Satis 是一个静态的 Composer 仓库生成器。你需要在服务器上运行 Satis,并让它知道你的私有包位置。
编辑 satis.json 文件:
{ "name": "My Private Satis Repository", "homepage": "https://satis.yourcompany.com", "repositories": [ { "type": "vcs", "url": "https://git.yourcompany.com/your-company/your-package.git" } ], "require": { "your-company/your-package": "1.0.0" }, "output-dir": "web/" }
说明:
- repositories 列出你的私有 Git 仓库地址。
- require 指定你要包含在 Satis 中的具体包和版本。
- output-dir 是生成的静态文件目录,通常绑定 Web 服务器访问。
3. 构建并发布 Satis 仓库
在服务器上运行以下命令生成仓库:
php bin/satis build satis.json
这会拉取你指定的 Git 仓库,解析 composer.json 并生成 packages.json 文件到输出目录。
确保 Web 服务器能访问 output-dir(如 web/),这样其他项目就可以通过 HTTP 访问你的私有包。
4. 在其他项目中使用私有包
在需要使用该包的项目中,修改 composer.json 添加仓库源:
{ "repositories": [ { "type": "composer", "url": "https://satis.yourcompany.com" } ], "require": { "your-company/your-package": "^1.0.0" } }
然后运行:
composer install
Composer 会从你的 Satis 仓库下载包。
基本上就这些。关键是确保 Git 仓库可访问(可通过 SSH 或 HTTPS 配置凭证),Satis 能拉取代码,且版本 tag 正确。只要 Satis 成功构建,其他项目就能像使用 Packagist 一样使用你的私有包。
以上就是如何发布一个composer php js git json github ai gitlab php composer json require private 并发 github git gitlab http https ssh