使用 SVN 搭建 Composer 私有倉庫

bigbug-gg發表於2019-11-21

在食用本博文前,可以先去熟悉 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 協議》,轉載必須註明作者和本文連結
現在做的任何事,都是未來的基石,請相信自己的能力。

相關文章