使用 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 文档。
本作品采用《CC 协议》,转载必须注明作者和本文链接

Knowledge is power only when it can be made available and practical.

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

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