composer引用本地git做為源庫


PHP使用者大多對composer是又愛又恨,愛的是composer require后,很多類庫不用去下載了,恨的是網速卡成翔,雖然國內有很多道友做了鏡象,但對於bower庫這些都還是整體更新。

那么,如何只利用composer的基本功能來為自己服務呢?composer的官網有介紹,只要在composer.json中加入幾行代碼就行了。。

"repositories":[  
       {  
           "type":"git",  
           "url":"/var/www/gouki/test/"  
       },  
   ]  

上面的代碼中/var/www/gouki/test,是我的一個git庫。也是按照composer的標准來建的。里面只有一個composer.json文件:

{  
    "name":"gouki/test",  
    "description":"test",  
    "authors":[  
        {  
            "name":"gouki",  
            "email":"xxxx@qq.com"  
        }  
    ],  
    "minimum-stability":"dev",  
    "require":{},  
    "autoload":{  
        "psr-4":{  
            "gouki\\test\\":"src/" 
        } 
    }, 
    "extra":{ 
        "branch-alias":{ 
            "dev-master":"1.0.x-dev"  
        }  
    }  
}  

 src目錄下的代碼中使用的namespace就是gouki\test,然后在原項目的composer.json中再加入:

"require":{  
        "gouki/test":"dev-master"  
    },  

  

最后,運行一下composer update,你會看到項目的根目錄下多了vendor目錄,同時,vendor目錄下也會多一個gouki/test的目錄,至此項目引入成功,如果還不放心,那就看一下:vendor/composer/autoload_psr4.php中有沒有gouki/test。

之所以這么做,就是因為前文所說的速度,當然也有小團隊的成本。比如寫個類,就可以直接composer進行加載了。

問題就這么來了,如果放到線上去,那上面的

"repositories":[    
       {    
           "type":"git",    
           "url":"/var/www/gouki/test/"    
       },    
   ]   
需要改為:  
"repositories":[    
       {    
           "type":"git",    
           "url":" http://xxxx.xxx.xxx/git "    
       },    
   ]     

 如果該git是public的,則不需要任何處理,如果git是需要登錄的,則需要在項目的根目錄下(和composer.json平級的目錄)增加一個auth.json,里面也就兩三行代碼

{    
    "http-basic":{    
        "http://xxxx.xxx.xxx/git":{    
            "username":"",    
            "password":""    
        }    
    }    
}    

  

當然如果你是ssh免登陸的git則另計。至此一個小小的自建composer源就已經完成。

本站采用版權協議, 要求署名、非商業和保持一致. 本站歡迎任何非商業應用的轉載, 但須注明出自"

", 保留原始鏈接, 此外還必須標注原文標題和鏈接.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM