一、准备工作
- 注册并登录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 初始化
- 先进入项目目录,在git中命令
cd oss-sdk/
- 然后运行初始化命令
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 - china-li-shuo/oss-utils: Supper quick use Aliyun OSS or Tencent COS or Qiniu Koa to get、put、delete Object.': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
运行git push时出错,提示Permission denied (publickey)_梅子1微酸的博客-CSDN博客
六、提交到packagist
- 打开github项目地址,复制网址:如https://github.com/china-li-shuo/oss-sdk.git 打开packagist.org/,右上角submit提交
- 然后把github项目地址粘贴到框中
点击提交,如果有重名的会提示,不用管直接点submit
看到下图,就成功了。
可以复制命令试一下是否能成功。
执行composer require china-li-shuo/oss-sdk
不成功,说明你的包没有版本号,
你的包要进行发布版本信息,也就是说你的github仓库要新增tag
标签就行了。
发布版本参考链接:git tag的查看、添加、推送和删除 - 掘金
七、composer更换镜像源
更换镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
查看composer配置
composer config -l -g
初始化配置(无需运行)
composer config -g --unset repos.packagist