使用 SVN 搭建 Composer 私有仓库

背景

在食用本博文前,可以先去熟悉 composer 文档中的 [2.5. composer.json 完全解析],然后再把 2.6. 扩展包源仓库看完,这样下面的内容你将轻易理解为何这样做,不看也没事,后面再补上,我懂有时候只需要马上能搞一个跑的通的环境!(本文注重操作,没有任何原理解释)

准备工作

  1. SVN 可用的仓库,(可以下载一个 VISUALSVN SERVER,先在本地练手)
  2. 安装 TortoiseSVN
  3. 安装 Composer

开始

第一步:创建仓库

使用 SVN 搭建 Composer 私有仓库

使用 SVN 搭建 Composer 私有仓库

使用 SVN 搭建 Composer 私有仓库

使用 SVN 搭建 Composer 私有仓库

使用 SVN 搭建 Composer 私有仓库

第二步:使用 TortoiseSVN 拉取仓库,并添加一个可用的包。

  1. 在根目录添加一个 composer.json 文件,最后目录如下:

使用 SVN 搭建 Composer 私有仓库
composer.json配置如下:

{
"name": "bigbug/tt",
"description": "local code",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Big Bug",
"email": "bigbug.site@gmail.com"
}
],
"minimum-stability": "dev",
"require": {}
}
  1. 到 trunk 目录,创建一个 src 文件夹 和 添加 composer.json

    composer.json配置如下

    {
    "name": "bigbug/gang",
    "description": "test",
    "license": "MIT",
    "authors": [
    {
    "name": "cg",
    "email": "cg@gmail.com"
    }
    ],
    "autoload": {
    "psr-4": {
    "Gang\\" : "src"
    }
    }
    }
  2. 到 src 目录,添加一下可以运行的代码。

    偷懒的话,可以直接用我的这个:Other.php

    <?php
    namespace Gang;
    class Other
    {
    public static function put():void
    {
    for ($i = 1; $i <= 9; $i++) {
    for ($q = 1; $q <= $i ; $q++) {
    echo  "$q X $i = ".($i*$q)."\t";
    }
    echo "\n";
    }
    }
    }

    我的src目录

    使用 SVN 搭建 Composer 私有仓库

  3. 回到 trunk 目录,然后运行 composer update,会自动生成 vendor目录,最终目录如下:
    使用 SVN 搭建 Composer 私有仓库

其中 index.php 是我自己添加的测试文件,不用管它,把这些全部提交到 SVN

以上创建完毕一个包,下面将是如何使用这个包

第三步:使用

  1. 随便创建一个文件夹,然后再里面创建一个 composer.json 文件,配置如下:

    {
    "name": "administrator/testpkg",
    "description": "test tt",
    "type": "project",
    "license": "MIT",
    "minimum-stability": "dev",
    "repositories": [
    {
    "type": "vcs",
    "url": "https://zt14693/svn/tt"
    }
    ],
    "require": {
    "bigbug/gang":"*"
    }
    }
  2. 执行 composer update 将会拉取刚刚的包:
    使用 SVN 搭建 Composer 私有仓库

  3. 新建一个 index.php 验证是否成功导入包:

    <?php
    require __DIR__.'../../vendor/autoload.php';
    echo Gang\Other::put();

    运行如下:(看来是OK了)
    使用 SVN 搭建 Composer 私有仓库

以上已经满足 本博文 标题内容,下面内容作为结尾

第四步:打标签

使用 SVN 搭建 Composer 私有仓库

使用 SVN 搭建 Composer 私有仓库

然后我们修改我们的 composer.json

{
   .....其他代码....
    "require": {
        "bigbug/gang":"1.0.0"
    }
    .....其他代码.....
}

执行composer update

使用 SVN 搭建 Composer 私有仓库

成功使用了 tag! 完美收尾

说明

  1. 原创不易,转载请注明出处。
  2. 以上步骤,我没有做过多解释其中配置项,需要你自己去看文档。
  3. 不同环境,会出不同问题,但基本逻辑差不多,我希望遇到问题的你,能够多看 composer 文档。

物有本末,事有始终,知所先后,则近道矣。

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!