您现在的位置是:首页 > 博客日记 > Php Php

手把手教你如何搭建Composer私有仓库

2019-06-11 16:31:24 【Php】 人已围观

现在网上到处充斥这各种搭建私有仓库文档,但对于新手来说,总是有那么多的坑。这里我把我的摸索历程写出来给大家参考,希望大家能少踩一些坑。

现在网上到处充斥这各种搭建私有仓库文档,但对于新手来说,总是有那么多的坑。这里我把我的摸索历程写出来给大家参考,希望大家能少踩一些坑。

一, 安装 ComposerComposer 的安装已经有很完善的教程,这里我就不重复造轮子了。安装 Composer安装好之后就能直接在命令行使用 composer命令,如果不是的话,请检查安装过程,后续步骤会直接使用 composer 来做演示。
二, Composer 配置国内镜像这是使用全局方式:composer config -g repo.packagist composer //packagist.phpcomposer.com 为啥要配置国内镜像。原因大家都懂得。。。。

三,使用Git搭建代码仓库自建Git仓库,github仓库, SVN 仓库 都可以用来做为我们的私有仓库。这里我们选择 自建Git仓库。因为相对于 自建SVN仓库,自建Git仓库配合起来会更方便一些。Github 与自建Git仓库功能大概是一样的,但既然需要私有化,就不希望代码让别人看到,所以我们这里选择自建Git仓库。当然GitHub私有项目也是可以的,但是需要收费,我们这里就不考虑了,有需要使用的可以尝试一下。

四:使用 Satis 搭建私有仓库

  1. 建立项目
    使用 Composer 自带的建项目功能,这个相当于git clone+composer install+ 运行 post-install 脚本。
    1. composer create-project composer/satis my-satis --stability=dev --keep-vcs2.

建立配置文件
在/my-satis目录下建立satis.json文件

  1. {
  2. "name": "packagist.majiameng.com",
  3. "homepage": "//packagist.majiameng.com/",
  4. "repositories": [
  5. {
  6. "type": "vcs",
  7. "url": "//49966.cn:3000/majiameng/payment.git"
  8. }
  9. ],
  10. "require-all": true,
  11. "config": {
  12. "secure-http": false
  13. }
  14. }
  • name 厂商名和包名
  • description 这个组件的一些简短描述。这个值也会在packages中显示
  • keywords 关键字。用于在packages找到这个组件
  • homepage 组件网站的url
  • license 软件许可证。我们可以在//choosealicense.com/中
  • authors 表示这个组件的开发人员信息,是一个数组。每个作者信息至少有姓名和网站url
  • require 这个组件所需的其他PHP组件
  • require-dev 和require相似,表示开发或者测试时需要用到的PHP组件
  • suggest 和require相似,表示建议安装的PHP组件,composer默认不会自动安装这里的组件
  • autoload 表示告诉composer加载器 如何加载这个组件
  1. 生成仓库列表
    执行:
    1. php bin/satis build satis.json ./web
    就可以在 <code>/my-satis/web/ </code>里生成仓库列表了。
    可能会报协议错误,默认是禁止 http 方式获取代码。需要单独配置开启。
    1. "config": {
    2. "secure-http": false
    3. }

执行完毕后。会在项目根目录生成 web 目录。4. 配置 webServer将 web 目录配置 webServer 访问。虚拟域名就是之前我们配置的 homepage : packagist.example.com

  1. 在其它项目中使用私有源
    只需要在项目的 composer.json 文件的根上添加

这样便可以正常安装新添加好的包
还要记得配置:

否则项目安装的时候还是提示项目不是HTTPS。五、安装测试$ compser init初始化项目,类型选择:project composer.json 示例:

安装私有包compser require luopingping/test:*如果不出意外,操作完成之后就能将私有Git仓库里的代码都下载下来了。至此安装完成。

版本的具体说明

  1. 1.0.2 # 明确版本
  2. 1.0.2 # 大于1.0.2
  3. =1.0.2 # 大于等于1.0.2
  4. <1.1|>=1.2 # 小于1.1 或 大于等于1.2
  5. 1.0.* # 执行1.0.的最高版本,与<1.1等效
  6. 1.0,<2.0 # 大于1.0 并且 小于2.0
  7. ~1.2 # >=1.2,<2.0
  8. ~1.2.3 # >=1.2.3,<1.3
  9. ^1.2 # >=1.2,<2.0
  10. ^2.3 # >=2.3,<3.0
  11. ^3.4.6 # >=3.4.6,<4.0.0
  12. ~3.4.6 # >=3.4.6,<3.5.0
  13. “,逗号”代表and并且关系
  14. “|竖杠”代表or或的关系
  15. ^:大版限制(封顶到当前版本顶级)
  16. ~:小版限制(封顶到当前版本的次版顶级)
  17. 版本问题:
  18. 一般的软件版本有3个位数,例如2.1.4,从左到右分为1位/2位/3
  19. 3位:小bug调试
  20. 2位:功能更新
  21. 1位:大版本更新,兼容不好


关注TinyMeng博客,更多精彩分享,敬请期待!
 

很赞哦! ()