站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        正確的Composer擴(kuò)展包安裝方法

        下面由composer教程欄目給大家介紹正確的 Composer 擴(kuò)展包安裝方法,希望對(duì)需要的朋友有所幫助!

        正確的Composer擴(kuò)展包安裝方法

        問(wèn)題說(shuō)明

        我們經(jīng)常要往現(xiàn)有的項(xiàng)目中添加擴(kuò)展包,有時(shí)候因?yàn)槲臋n的錯(cuò)誤引導(dǎo),如下圖來(lái)自 這個(gè)文檔 的:

        正確的Composer擴(kuò)展包安裝方法

        composer update 這個(gè)命令在我們現(xiàn)在的邏輯中,可能會(huì)對(duì)項(xiàng)目造成巨大傷害。

        因?yàn)?composer update 的邏輯是按照 composer.json 指定的擴(kuò)展包版本規(guī)則,把所有擴(kuò)展包更新到最新版本,注意,是 所有擴(kuò)展包,舉個(gè)例子,你在項(xiàng)目一開(kāi)始的時(shí)候使用了 monolog,當(dāng)時(shí)的配置信息是

        "monolog/monolog": "1.*",

        安裝的是 monolog 1.1 版本,而一個(gè)多月以后的現(xiàn)在,monolog 已經(jīng)是 1.2 了,運(yùn)行命令后直接更新到 1.2,這時(shí)項(xiàng)目并沒(méi)有針對(duì) 1.2 進(jìn)行過(guò)測(cè)試,項(xiàng)目一下子變得很不穩(wěn)定,情況有時(shí)候會(huì)比這個(gè)更糟糕,尤其是在一個(gè)龐大的項(xiàng)目中,你沒(méi)有對(duì)項(xiàng)目寫(xiě)完整覆蓋測(cè)試的情況,什么東西壞掉了你都不知道。

        那應(yīng)該使用哪個(gè)命令呢?install, update 還是 require ?

        接下來(lái)我們一一解釋。

        簡(jiǎn)單解釋

        composer install - 如有 composer.lock 文件,直接安裝,否則從 composer.json 安裝最新擴(kuò)展包和依賴; composer update - 從 composer.json 安裝最新擴(kuò)展包和依賴; composer update vendor/package - 從 composer.json 或者對(duì)應(yīng)包的配置,并更新到最新; composer require new/package - 添加安裝 new/package, 可以指定版本,如: composer require new/package ~2.5.

        流程

        下來(lái)介紹幾個(gè)日常生產(chǎn)的流程,來(lái)方便加深大家的理解。

        流程一:新項(xiàng)目流程

        創(chuàng)建 composer.json,并添加依賴到的擴(kuò)展包;

        運(yùn)行 composer install,安裝擴(kuò)展包并生成 composer.lock;

        提交 composer.lock 到代碼版本控制器中,如:git;

        流程二:項(xiàng)目協(xié)作者安裝現(xiàn)有項(xiàng)目

        克隆項(xiàng)目后,根目錄下直接運(yùn)行 composer install 從 composer.lock 中安裝 指定版本 的擴(kuò)展包以及其依賴;

        此流程適用于生產(chǎn)環(huán)境代碼的部署。

        流程三:為項(xiàng)目添加新擴(kuò)展包

        使用 composer require vendor/package 添加擴(kuò)展包;

        提交更新后的 composer.json 和 composer.lock 到代碼版本控制器中,如:git;

        關(guān)于 composer.lock 文件

        composer.lock 文件里保存著對(duì)每一個(gè)代碼依賴的版本記錄(見(jiàn)下圖),提交到版本控制器中,并配合composer install 使用,保證了團(tuán)隊(duì)所有協(xié)作者開(kāi)發(fā)環(huán)境、線上生產(chǎn)環(huán)境中運(yùn)行的代碼版本的一致性。

        正確的Composer擴(kuò)展包安裝方法

        關(guān)于擴(kuò)展包的安裝方法

        那么,準(zhǔn)備添加一個(gè)擴(kuò)展包,install, update, require 三個(gè)命令都可以用來(lái)安裝擴(kuò)展包,選擇哪一個(gè)才是正確的呢?

        答案是:使用 composer require 命令

        另外,在手動(dòng)修改 composer.json 添加擴(kuò)展包后,composer update new/package 進(jìn)行指定擴(kuò)展包更新的方式,也可以正確的安裝,不過(guò)不建議使用這種方法,因?yàn)?,一旦你忘記敲定后面的擴(kuò)展包名,就會(huì)進(jìn)入萬(wàn)劫不復(fù)的狀態(tài),別給自己留坑呀。

        上面的概念不論對(duì)新手或者老手來(lái)說(shuō),都比較混淆,主要記住這個(gè)概念:

        原有項(xiàng)目新添加擴(kuò)展的,都使用 composer require new/package 這種方式來(lái)安裝。

        需要加版本的話

        composer require "foo/bar:1.0.0"

        更新指定擴(kuò)展到指定版本

        有時(shí)候你之前使用過(guò)的擴(kuò)展包,加入了新功能,你想更新單獨(dú)這個(gè)擴(kuò)展包到指定版本,也可以使用 require 來(lái)操作。

        如下面例子,需要更新 “sami/sami”: “3.0.” 到 “sami/sami”: “3.2.”

        正確的Composer擴(kuò)展包安裝方法

        命令行運(yùn)行:

        正確的Composer擴(kuò)展包安裝方法

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 精品人人妻人人澡人人爽人人 | 国产精品无码一区二区三级 | 国产欧美一区二区精品性色99| 亚洲精品无码不卡在线播HE| 国产精品无码永久免费888| 精品久久久久久无码专区| 欧美亚洲另类精品第一页| 国产乱人伦精品一区二区在线观看 | 国产精品女同一区二区久久| 国产精品v欧美精品v日韩精品| 亚洲精品国产品国语在线| 久久精品国产精品亚洲艾草网美妙 | 国产精品va无码一区二区| 亚洲精品二区国产综合野狼| 久久精品无码一区二区三区日韩| 亚洲午夜久久久精品影院| 2020国产精品| 国产精品人人爽人人做我的可爱 | 自拍偷在线精品自拍偷| 人妻一区二区三区无码精品一区| 国产精品小视频免费无限app | 精品国精品国产自在久国产应用| 亚洲精品乱码久久久久久中文字幕| 免费观看四虎精品成人| 国内精品久久久久久久久| 国产成人精品大尺度在线观看| 国产精品美女久久久久网| 国产精品乱视频| 欧美精品1区2区| 国产福利在线观看精品| 国产精品无码无片在线观看| 亚洲精品乱码久久久久久中文字幕| 久久精品国产只有精品66| 国语自产精品视频| 国产呦小j女精品视频| 成人精品一区二区三区在线观看| 欧美大片日韩精品| 精品国产一区二区三区免费| 久久99精品国产一区二区三区 | 国产精品特级毛片一区二区三区| 久久香蕉国产线看观看精品yw|