PHP使用者大多對composer是又愛又恨,愛的是composer require後,不少類庫不用去下載了,恨的是網速卡成翔,雖然國內有不少道友作了鏡象,但對於bower庫這些都仍是總體更新。php
那麼,如何只利用composer的基本功能來爲本身服務呢?composer的官網有介紹,只要在composer.json中加入幾行代碼就好了。。git
"repositories":[ { "type":"git", "url":"/var/www/gouki/test/" }, ]
上面的代碼中/var/www/gouki/test,是個人一個git庫。也是按照composer的標準來建的。裏面只有一個composer.json文件: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中再加入:composer
"require":{ "gouki/test":"dev-master" },
最後,運行一下composer update,你會看到項目的根目錄下多了vendor目錄,同時,vendor目錄下也會多一個gouki/test的目錄,至此項目引入成功,若是還不放心,那就看一下:vendor/composer/autoload_psr4.php中有沒有gouki/test。ssh
之因此這麼作,就是由於前文所說的速度,固然也有小團隊的成本。好比寫個類,就能夠直接composer進行加載了。ui
問題就這麼來了,若是放到線上去,那上面的url
"repositories":[ { "type":"git", "url":"/var/www/gouki/test/" }, ] 須要改成: "repositories":[ { "type":"git", "url":" http://xxxx.xxx.xxx/git " }, ]
若是該git是public的,則不須要任何處理,若是git是須要登陸的,則須要在項目的根目錄下(和composer.json平級的目錄)增長一個auth.json,裏面也就兩三行代碼spa
{ "http-basic":{ "http://xxxx.xxx.xxx/git":{ "username":"", "password":"" } } }
固然若是你是ssh免登錄的git則另計。至此一個小小的自建composer源就已經完成。blog
本站採用版權協議, 要求署名、非商業和保持一致. 本站歡迎任何非商業應用的轉載, 但須註明出自"ip
", 保留原始連接, 此外還必須標註原文標題和連接.