這篇文章主要介紹怎樣重構(gòu)Composer源管理工具CRM為composer插件,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

CRM 是我很久之前為管理composer 源做的一款命令行工具,旨在通過簡單的命令在多個中國鏡像切換,從而方便的管理它們;
那個時候我對 composer 插件了解不是特別多,所以做法比較也粗暴,底層通過執(zhí)行 composer 命令來達到切換源的目的,在linux 上用起來還好幾乎沒有特別的感知,但 win 上就會有些遲鈍了。這也是顯而易見的畢竟切換的時候相當(dāng)于同時執(zhí)行了多個命令;后來由于工作的機會了解了一下 composer 插件的開發(fā),所以也就萌生了重構(gòu)的念頭;
與 1.x 版本相比,2.x 主要有下面一些改變:
元數(shù)據(jù)存儲位置改變
在 1.x 版本中是在用戶的 Home 文件夾下自定義的一個文件,用戶所有的操作都最終持久化到這個 json 文件里去;新版則將元數(shù)據(jù)存儲到了 composer 全局路徑下的 config.json 里:
{
"config": {
"_alias": {
"val": "validate",
"up": "update",
"req-sf": "require symfony/event-dispatcher symfony/console",
"req": "require",
"i": "install"
},
"_repositories": [{
"name": "composer",
"url": "/tupian/20230522/packagist.org",
"homepage": "",
"author": ""
}, {
"name": "phpcomposer",
"url": "/tupian/20230522/",
"homepage": "",
"author": ""
}, {
"name": "composer-proxy",
"url": "https://packagist.composer-proxy.org",
"homepage": "",
"author": ""
}, {
"name": "laravel-china",
"url": "https://packagist.laravel-china.org",
"homepage": "",
"author": ""
}]
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.laravel-china.org"
}
}
}這個是 composer 維護的一個文件,我們借用了一下在里面占用了一個字段。這么做也更加符合了 composer 生態(tài)
命令的改變
1.x 版本是個獨立入口應(yīng)用,命令都是以crm關(guān)鍵詞開始,比如 crm ls 之類的;在新版插件化里 crm變成了一個命令提供者 (command provider) 角色,所以在新版我們使用 composer 入口;
新版用法
列出所有可使用的鏡像
$ composer repo:ls composer /tupian/20230522/packagist.org phpcomposer /tupian/20230522/ * composer-proxy https://packagist.composer-proxy.org laravel-china https://packagist.laravel-china.org
標(biāo)“*”表示當(dāng)前正在使用的源;
切換鏡像
$ composer repo:use Please select your favorite registry (defaults to composer) [0] composer [1] phpcomposer [2] composer-proxy [3] laravel-china >
你也可以直接追加鏡像名稱來跳過選擇
$ composer repo:use phpcomposer
添加選項 --current/-c 為當(dāng)前項目切換源,默認(rèn)是修改全局的源。
所有命令
執(zhí)行下面命令查看
$ composer repo
以上是“怎樣重構(gòu)Composer源管理工具CRM為composer插件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標(biāo)題:怎樣重構(gòu)Composer源管理工具CRM為composer插件-創(chuàng)新互聯(lián)
分享路徑:http://chinadenli.net/article28/cojcjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、Google、網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、網(wǎng)站改版、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容