怎么发布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
- 打开github项目地址,复制网址:如github.com/china-li-sh…
- 然后把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
更多编程相关知识,请访问:编程教学!!
以上是教你怎么从0创建并发布一个composer包的详细内容。更多信息请关注PHP中文网其他相关文章!

Composer与AI的结合可以帮助作曲家创作新颖的音乐作品。AI通过分析音乐数据生成新片段,作曲家可将其作为灵感或直接整合。挑战包括确保音乐的情感深度和人机创作平衡。

Composer简化PHP项目开发的步骤包括:1)添加依赖,如在composer.json中添加"laravel/framework":"^8.0";2)自动加载,通过定义命名空间和类路径生成autoload.php文件;3)优化性能,使用composerdump-autoload-o和composerinstall--no-dev--optimize-autoloader命令。通过这些步骤,开发者可以提高效率并避免常见错误。

成为作曲家的关键要素包括:1.掌握音乐理论,2.具备创造力和原创性,3.拥有技术技能,4.能够进行情感表达和故事讲述,5.理解文化和历史背景,6.积累实践和经验,这些要素共同构成了作曲家的身份和能力。

成为作曲家的步骤包括:1.掌握音乐基本元素,如音符、节奏、和声、旋律;2.选择合适的技术工具,如AbletonLive;3.理解作曲的过程,包括灵感获取、构思、编写、修改和完善;4.从简单旋律创作开始,逐步尝试复杂技巧如和声进行;5.通过调试技巧解决常见问题,如音符选择和节奏安排;6.应用性能优化和最佳实践,如使用模板、版本控制和协作。

Composer是构建健壮PHP应用的关键工具,因为它简化了依赖管理,提升了开发效率和代码质量。1)Composer通过composer.json文件定义项目依赖,并自动下载和管理这些依赖。2)它生成composer.lock文件确保依赖版本一致,并通过vendor/autoload.php实现自动加载。3)使用示例包括基本用法如添加日志库,以及高级用法如版本约束和环境变量管理。4)常见错误调试技巧包括处理依赖冲突和网络问题。5)性能优化建议包括使用composer.lock文件和优化自动加载。

要在使用Composer时变得熟练,需要掌握以下技能:1.熟练使用composer.json和composer.lock文件,2.理解Composer的工作原理,3.掌握Composer的命令行工具,4.了解基本和高级用法,5.熟悉常见错误与调试技巧,6.优化使用和遵循最佳实践。

Composer是PHP的依赖管理工具,用于声明、下载和管理项目依赖。1)通过composer.json文件声明依赖,2)使用composerinstall命令安装依赖,3)解析依赖树并从Packagist下载,4)生成autoload.php文件简化自动加载,5)优化使用包括使用composerupdate--prefer-dist和调整autoload配置。

AppComposer是一种用于构建和管理应用程序的工具。1)它通过拖拽和配置预定义组件简化应用开发,提高效率。2)开发者可以定义组件、组合界面、定义业务逻辑,并最终渲染应用。3)支持基本和高级用法,如任务管理和条件渲染,帮助构建灵活的应用。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),