站長(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)目一開始的時(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)目寫完整覆蓋測(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è)代碼依賴的版本記錄(見下圖),提交到版本控制器中,并配合composer install 使用,保證了團(tuán)隊(duì)所有協(xié)作者開發(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)椋坏┠阃浨枚ê竺娴臄U(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)
        主站蜘蛛池模板: 成人精品一区二区三区电影黑人| 国产成人精品一区在线| 国产69精品久久久久99尤物| 91亚洲国产成人久久精品网址| 久久久久人妻一区精品性色av| 亚洲国产精品va在线播放| 日本熟妇亚洲欧美精品区| 国产高清国产精品国产专区| 国产成人精品综合久久久| 无码精品国产VA在线观看DVD | 国产三级精品久久| 成人精品视频在线观看| 国产精品手机在线观看你懂的| 久久久久亚洲精品中文字幕| 国产亚洲精品无码专区| 91精品国产91久久久久久| 97视频在线观看这里只有精品| 亚洲国产精品久久久久久| 91精品国产综合久久精品| 国产精品自在欧美一区| 精品永久久福利一区二区| 国产精品免费观看| 蜜臀精品无码AV在线播放| 国产在线精品无码二区| 久久精品亚洲乱码伦伦中文| 久久国产成人精品麻豆| 亚洲国产成人一区二区精品区| 91精品啪在线观看国产| 日韩三级精品| 精品91自产拍在线观看 | 久久精品国产国产精品四凭| 久久精品国产亚洲av影院| 色国产精品一区在线观看| 亚洲国产精品高清久久久| 无码国产精品一区二区免费16 | 精品亚洲成α人无码成α在线观看 | 久久精品国产只有精品2020| 国产精品v欧美精品v日韩精品| 精品视频第一页| 99久久精品国产一区二区蜜芽 | 少妇人妻偷人精品免费视频|