目录
一、准备工作
二、创建线上仓库
三、composer 初始化
四、创建基本包代码
五、提交到github仓库
六、提交到packagist
七、composer更换镜像源
首页 开发工具 composer 教你怎么从0创建并发布一个composer包

教你怎么从0创建并发布一个composer包

Feb 22, 2022 am 11:07 AM
composer

怎么发布composer包?下面本篇文章就来带大家了解一下怎么从0创建并发布一个composer包,希望对大家有所帮助!

教你怎么从0创建并发布一个composer包

一、准备工作

  • 注册并登录github账户,github.com

  • 安装好git软件:

  • 注册登录packagist账户:packagist.org/

二、创建线上仓库

1.打开github,点击右上角加号,选择new repository

1.png

2.而后,进行相关设置,如下图:

2.png

这里需要输入项目名称,描述,是否公开,是否初始化readme,git忽略文件,以及开源协议等信息。

3.拉取线上仓库到本地

完成上面的操作化,会成功后会跳转到仓库页面。

3.png

  • 然后点击右侧的code按钮,然后再点击复制此仓库的git地址。
  • 回到本地,打开git软件,运行clone命令拉取
git clone https://github.com/china-li-shuo/oss-sdk.git
登录后复制

三、composer 初始化

1、先进入项目目录,在git中命令

cd oss-sdk/
登录后复制

2、然后运行初始化命令

composer init
登录后复制

4.png

详细设置见上图。

注意:package type :library是仓库,对应提交后的require命令,project是项目,下载后直接能跑起来的,对应create-project命令。

3. 配置autoload

初始化完毕后,打开本地的composer.json文件夹可以进行修改。 附上我的composer.json文件,上面有详细注释

{
    "name": "china-li-shuo/oss-sdk", #包名称
    "description": "Alibaba cloud, Tencent cloud, qiniu cloud, object storage",#包描述信息
    "type": "library",#类型,可选e.g. library, project, metapackage, composer-plugin
    "license": "MIT",#开源协议
    "authors": [
        {
            "name": "china-li-shuo",#作者
            "email": "676050059@qq.com"#邮箱
        }
    ],
    "require": { # 需要安装的扩展
        "php": ">=7.1.0",
        "qcloud/cos-sdk-v5": ">=2.0",
        "aliyuncs/oss-sdk-php": "^2.4.0",
        "phpunit/phpunit": "^5.0|^6.0",
        "qiniu/php-sdk": "^7.3"
    },
    "autoload": { # 自动加载: 注意了, 这里有 psr-4, psr-2 多种规范, 并且,注意目录和命名空间
        "psr-4": {
            "lishuo\": "src"
        }
    }
}
登录后复制

更改完毕后进行保存,而后运行命令重新载入。

composer dump-autoload
登录后复制

5.png

四、创建基本包代码

这里对应上面的autoload->psr-4里面的配置,还有flies配置 先创建一个src目录

6.png

五、提交到github仓库

1. 切换到本地目录

cd oss-sdk
登录后复制

2.然后运行命令git add .命令,把文件提交到本地仓库

git add .
登录后复制

3.然后git commit -m 添加提交注释

git commit -m '第一个composer包'
登录后复制

4.然后git push进行提交,把文件提交到github

git push
登录后复制

7.png

报错:

$ git push origin master fatal: unable to access 'github.com/china-li-sh…': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

参考资料:https://blog.csdn.net/weixin_41010198/article/details/119698015

https://blog.csdn.net/u013894429/article/details/78960813

六、提交到packagist

  1. 打开github项目地址,复制网址:如github.com/china-li-sh…

8.png

  1. 然后把github项目地址粘贴到框中

9.png

点击提交,如果有重名的会提示,不用管直接点submit

10.png

看到下图,就成功了。

可以复制命令试一下是否能成功。

11.png

执行composer require china-li-shuo/oss-sdk不成功,说明你的包没有版本号, 你的包要进行发布版本信息,也就是说你的github仓库要新增tag标签就行了。

发布版本参考链接:https://juejin.cn/post/6938227254191194120#heading-7

12.png

七、composer更换镜像源

更换镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
登录后复制

查看composer配置

composer config -l -g
登录后复制

初始化配置(无需运行)

composer config -g --unset repos.packagist
登录后复制

更多编程相关知识,请访问:编程教学!!

以上是教你怎么从0创建并发布一个composer包的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

解决 Craft CMS 中的缓存问题:使用 wiejeben/craft-laravel-mix 插件 解决 Craft CMS 中的缓存问题:使用 wiejeben/craft-laravel-mix 插件 Apr 18, 2025 am 09:24 AM

在使用CraftCMS开发网站时,常常会遇到资源文件缓存的问题,特别是当你频繁更新CSS和JavaScript文件时,旧版本的文件可能仍然被浏览器缓存,导致用户无法及时看到最新的更改。这个问题不仅影响用户体验,还会增加开发和调试的难度。最近,我在项目中遇到了类似的困扰,经过一番探索,我找到了wiejeben/craft-laravel-mix这个插件,它完美地解决了我的缓存问题。

如何使用Composer快速搭建LaravelCMS:mki-labs/espresso的实战经验 如何使用Composer快速搭建LaravelCMS:mki-labs/espresso的实战经验 Apr 18, 2025 am 07:36 AM

在开发一个新的Laravel项目时,我遇到了一个棘手的问题:如何快速搭建一个功能齐全且易于管理的内容管理系统(CMS)。我尝试了多种解决方案,但都因为复杂的配置和不便的维护而放弃。直到我发现了mki-labs/espresso这个LaravelCMS包,它不仅安装简单,还提供了强大的功能和直观的管理界面,彻底解决了我的问题。

laravel框架安装方法 laravel框架安装方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了详细分步说明,指导读者如何轻松安装 Laravel 框架。Laravel 是一个功能强大的 PHP 框架,它 упростил 和加快了 web 应用程序的开发过程。本教程涵盖了从系统要求到配置数据库和设置路由等各个方面的安装过程。通过遵循这些步骤,读者可以快速高效地为他们的 Laravel 项目打下坚实的基础。

使用Composer解决依赖注入:PSR-11容器接口的应用 使用Composer解决依赖注入:PSR-11容器接口的应用 Apr 18, 2025 am 07:39 AM

在开发一个大型PHP项目时,我遇到了一个常见但棘手的问题:如何有效地管理和注入依赖。最初,我尝试使用全局变量和手动注入,但这不仅增加了代码的复杂度,还容易导致错误。最终,我通过使用PSR-11容器接口,并借助Composer的强大功能,成功解决了这个问题。

如何使用 Composer 解决 JavaScript 错误处理的难题 如何使用 Composer 解决 JavaScript 错误处理的难题 Apr 18, 2025 am 08:30 AM

在开发一个复杂的Web应用时,我遇到了一个棘手的问题:如何有效地处理JavaScript错误并将其记录下来。我尝试了几种方法,但都无法满足我的需求,直到我发现了dvasilenko/alterego_tools这个库。通过Composer安装这个库,我轻松解决了这个问题,并且大大提升了项目的可维护性和稳定性。可以通过以下地址学习Composer:学习地址

如何使用Composer解决Yii框架下的数据批量处理问题 如何使用Composer解决Yii框架下的数据批量处理问题 Apr 18, 2025 am 07:54 AM

在开发Yii框架项目时,常常会遇到需要从数据库中获取大量数据的情况。如果不采取适当的措施,直接获取所有数据可能会导致内存溢出,影响程序性能。最近在处理一个大型电商平台的项目时,我遇到了这种问题,经过一番研究和尝试,最终通过pavle/yii-batch-result这个扩展库解决了难题。

如何使用 Composer 解决 HTTP 请求问题:yiche/http 库的实用指南 如何使用 Composer 解决 HTTP 请求问题:yiche/http 库的实用指南 Apr 18, 2025 am 08:06 AM

在开发过程中,经常需要处理HTTP请求,这可能是为了获取数据、发送数据或者与外部API交互。然而,当面对复杂的网络环境和多变的请求需求时,如何高效地处理HTTP请求成为了一个挑战。我曾在一个项目中遇到过这样的问题:需要频繁地向不同的API发送请求,同时还要记录这些请求的日志,以便于后续的调试和分析。尝试了几种方法后,我发现了yiche/http这个库,它不仅简化了HTTP请求的处理,还提供了动态日志记录的功能,极大地提升了开发效率。

如何使用 Composer 提升 Laravel 应用的安全性:wiebenieuwenhuis/laravel-2fa 库的应用 如何使用 Composer 提升 Laravel 应用的安全性:wiebenieuwenhuis/laravel-2fa 库的应用 Apr 18, 2025 am 11:36 AM

在开发一个Laravel应用时,我遇到了一个常见但棘手的问题:如何提升用户账户的安全性。随着网络攻击的日益复杂,单一的密码保护已经不足以保障用户的数据安全。我尝试了几种方法,但效果都不尽如人意。最终,我通过Composer安装了wiebenieuwenhuis/laravel-2fa库,成功地为我的应用添加了双因素认证(2FA),大大提升了安全性。

See all articles