本文共 2153 字,大约阅读时间需要 7 分钟。
登录github,创建自己的仓库 composer-test
值得一提的是,Packagist可以创建私有包,github也能创建私有仓库。复制仓库地址:
https://github.com/phprao/composer-testcd /data/www mkdir -p my-packages/composer-testcd my-packages/composer-testgit init git remote add origin https://github.com/phprao/composer-test.gitgit pull origin mastercomposer init
就可以看到生成的composer.json
做适当的编辑,比如:{ "name": "phprao/composer-test", "description": "composer-test", "license": "MIT", "require": { "php": ">=7.2" }}
mkdir -p src/Interfaces
编写类 vi src/Interfaces/CalculatorServiceInterface.php
目录结构为:
.|-- composer.json|-- LICENSE|-- README.md`-- src `-- Interfaces `-- CalculatorServiceInterface.php
于是,需要修改composer.json设置autoload
{ "name": "phprao/composer-test", "description": "composer-test", "license": "MIT", "require": { "php": ">=7.2" }, "autoload": { "psr-4": { "Phprao\\ComposerTest\\": "src/" } }}
提交代码到github仓库
git add ./git commit -m 'init'git push -u origin master
来到 https://packagist.org/ 注册并登录,或直接使用github账号登录。
点击submit提交自己的Package
需要输入的代码的线上托管地址,git, svn, github, gitee等,只要能拉取到你的代码就可以。 输入 https://github.com/phprao/composer-test 点击提交就可以了。设置 Github Hook ,这样当github代码发生改动,会自动同步到Packagist,否则需要在 packagist.org 手动来更新。
参考文档:https://packagist.org/about#how-to-update-packages 有两种方式: 1、在packagist授权绑定github账号。 2、在github操作,授权连接packagist。我选择第一种
进入个人中心 setting 授权绑定你的github账号。成功之后在 profile 中就能看到Hook信息。然后进入github 的 composer-test 仓库,点击settings --> Webhooks 就看到多出一个webhook信息。至此,自动update也设置成功了。
测试一下,修改 CalculatorServiceInterface.php 文件并提交到github。
回到 packagist 进入 composer-test 包,在右下角可以看到自动更新提示
拉取
composer require phprao/composer-testcomposer require phprao/composer-test=v1.0.1
报错
Error while installing phprao/composer-test, composer-plugin packages should have a class defined in their extra key to be usable这是因为composer会去拉取最新的release版本,而我还没有给 composer-test 设置版本,去到github添加一个release和tag。
至此你就需要开始关注 composer-test 的版本问题了,你每次的push并不会自动整合到最新的版本里去,多次push之后可以考虑去到github创建一个版本,这样packagist中也会多出一个版本信息,composer require 就可以指定要拉取哪个版本的代码。如果你不想打tag,那么就需要指定dev
composer require "phprao/composer-test @dev"
转载地址:http://rbaui.baihongyu.com/