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

发布时间 - 2022-02-22 00:00:00    点击率:

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

一、准备工作

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

  • 安装好git软件:

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

二、创建线上仓库

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

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

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

3.拉取线上仓库到本地

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

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

三、composer 初始化

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

cd oss-sdk/

2、然后运行初始化命令

composer init

详细设置见上图。

注意: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

四、创建基本包代码

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

五、提交到github仓库

1. 切换到本地目录

cd oss-sdk

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

git add .

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

git commit -m '第一个composer包'

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

git push

报错:

$ 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…

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

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

看到下图,就成功了。

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

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

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

七、composer更换镜像源

更换镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

查看composer配置

composer config -l -g

初始化配置(无需运行)

composer config -g --unset repos.packagist

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


# composer  # 线上  # 镜像  # 开源  # 第一个  # 完毕后  # 然后再  # 可选  # 就来  # 报错  # 后会 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: bing浏览器学术搜索入口_bing学术文献检索地址  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  如何快速查询网址的建站时间与历史轨迹?  如何在局域网内绑定自建网站域名?  微信推文制作网站有哪些,怎么做微信推文,急?  香港服务器如何优化才能显著提升网站加载速度?  b2c电商网站制作流程,b2c水平综合的电商平台?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Android滚轮选择时间控件使用详解  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel如何使用模型观察者?(Observer代码示例)  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  微信小程序 input输入框控件详解及实例(多种示例)  JavaScript中的标签模板是什么_它如何扩展字符串功能  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Java类加载基本过程详细介绍  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  电商网站制作价格怎么算,网上拍卖流程以及规则?  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何在万网开始建站?分步指南解析  创业网站制作流程,创业网站可靠吗?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何制作一个表白网站视频,关于勇敢表白的小标题?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Python结构化数据采集_字段抽取解析【教程】  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  nginx修改上传文件大小限制的方法  如何基于云服务器快速搭建网站及云盘系统?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Java解压缩zip - 解压缩多个文件或文件夹实例  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何利用DOS批处理实现定时关机操作详解  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何选择可靠的免备案建站服务器?  微信小程序 闭包写法详细介绍  Android okhttputils现在进度显示实例代码  大同网页,大同瑞慈医院官网?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)