如何制作并发布自己的 Composer 包

Royal
2021-04-22 / 0 评论 / 183 阅读 / 正在检测是否收录...
  1. 注册 Github 账号(https://github.com)
  2. 注册 Packagist 账号(https://packagist.org)
  3. php代码(可以是项目或者类库等)

开始搭建

  1. 我们首先登录github网站,新建一个repository(仓库),如图:ceshi
    15417571-6aed6240f36628b7.jpg
  2. 使用Git工具,将仓库clone到本地,用于文件管理,如图:
    命令:git clone https://github.com/sang-tom/ceshi.git
    15417571-008ad359fe39bd2a.jpg
    3.本地编写composer.json文件,如图:
    15417571-af84a7410b83a41e.jpg

1、name

包的名字。由供应方(vendor)名和项目名组成,用 / 分隔。

在发布包的时候需要填。

2、description

对包的一个简短描述,通常是一行的长度。

在发布包的时候需要填。

3、version

包的版本。

格式必须是 X.Y.Z,选择性后缀:-dev、-alphaN、-betaN、-RCN。

4、type

包的类型,默认为 library。

包类型用于定制安装逻辑。如果你的包的安装需要一些特殊的逻辑,你可以定义一个定制的类型。它可以是一个 symfony-bundle 的类型,或者 wordpress-plugin,或者 typo3-module。这些类型将被特定的项目所用,它们将提供安装器来安装这些类型的包。

Composer 支持 3 种类型:

library:默认值。它将复制文件到 vendor 目录。

project:它表示这是个项目,而不是库。比如像 Symfony 标准版这种应用。

metapackage:一个含有依赖的空包,能触发安装,但不包含文件,不会向文件系统写任何东西。

composer-install:为其他的定制类型的包提供安装器的包。

5、keywords

一个与包相关的关键词数组。用于包的搜索和过滤。

可选。

6、homepage

项目的网站 URL。

可选。

7、time

版本发布时间。必须是 YYYY-MM-DD 或 YYYY-MM-DD HH:MM:SS 格式。

可选。

8、license

包的许可证。可以是字符串或字符串数组。

可选,但强烈建议加上。

9、authors

包的作者。是个对象数组。

每个 author 对象有这些属性:

name:作者名字

email:作者邮箱

homepage:作者网站 URL

role:作者在项目中的角色(如:developer 或 translator)

10、support

各种关于该项目如何获取支持的信息。包含这些属性:

email:获取支持的邮箱

issues:问题跟踪的 URL

forum:论坛的 URL

wiki:Wiki 的 URL

irc:IRC 的频道

source:查看或下载源码的 URL

可选。

11、Package links

依赖包的映射表,由包名映射版本约束。如:

{

"require": {

    "monolog/monolog": "1.0.*"

}

}

4.我们将 win 下的文件推送到远程仓库

git add .

git commit -m '备注说明'

git push -u origin push
15417571-c56be72f715bcc5f.jpg

  1. 完成了github的处理,我们进行发布包到 Packagist

登录 Packagist,检出https://github.com/sang-tom/ceshi.git仓库的代码,系统会根据仓库中 composer.json 文件自动设置包的相关信息。点击 “Submit” ,会出现一个输入栏,将https://github.com/sang-tom/ceshi.git个输粘贴进去,然后点击“Check”
15417571-2f314967ca6e0537.jpg
15417571-2065cc64f3ad3c49.jpg

6.设置 Packagist 中的包自动更新

curl -XPOST -H'content-type:application / json''https://packagist.org/api/update-package?username=sang-tom&apiToken=API_TOKEN'-d'{“ repository”:{“ url”: “ PACKAGIST_PACKAGE_URL”}}'

url:https://packagist.org/api/update-package?username=sang-tom&apiToken=API令牌

API令牌在个人资料中心查看https://packagist.org/profile/,如图:
15417571-e64886cba6ca5fd7.jpg

PACKAGIST_PACKAGE_URL:https://packagist.org/packages/sang-tom/ceshi
15417571-af84a7410b83a41e.jpg

7.如何使用:

在完成上面的流程后,你就可以使用composer下载安装你刚才文件了,如图:

composer create-project sang-tom/ceshi:dev-master
15417571-9df9e159d1f3d7a5.jpg

0

评论

博主关闭了当前页面的评论