composer 包的安裝方法

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

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

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 requirenew/package- 添加安裝new/package, 可以指定版本戴卜,如: composer requirenew/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)行的代碼版本的一致性。

關(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)安裝汪拥。

需要加版本的話

composerrequire"foo/bar:1.0.0"

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

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

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

命令行運(yùn)行:

轉(zhuǎn)自: http://blog.csdn.net/xianglingchuan/article/details/51930960

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铣焊,一起剝皮案震驚了整個(gè)濱河市逊朽,隨后出現(xiàn)的幾起案子罕伯,更是在濱河造成了極大的恐慌,老刑警劉巖叽讳,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件追他,死亡現(xiàn)場(chǎng)離奇詭異坟募,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)邑狸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門懈糯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人单雾,你說(shuō)我怎么就攤上這事赚哗。” “怎么了硅堆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵屿储,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我渐逃,道長(zhǎng)够掠,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任茄菊,我火速辦了婚禮疯潭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘面殖。我一直安慰自己竖哩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布脊僚。 她就那樣靜靜地躺著期丰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吃挑。 梳的紋絲不亂的頭發(fā)上钝荡,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音舶衬,去河邊找鬼埠通。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逛犹,可吹牛的內(nèi)容都是我干的端辱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼虽画,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼舞蔽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起码撰,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤渗柿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體朵栖,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颊亮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陨溅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片终惑。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖门扇,靈堂內(nèi)的尸體忽然破棺而出雹有,到底是詐尸還是另有隱情,我是刑警寧澤臼寄,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布件舵,位于F島的核電站,受9級(jí)特大地震影響脯厨,放射性物質(zhì)發(fā)生泄漏铅祸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一合武、第九天 我趴在偏房一處隱蔽的房頂上張望临梗。 院中可真熱鬧,春花似錦稼跳、人聲如沸盟庞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)什猖。三九已至,卻和暖如春红淡,著一層夾襖步出監(jiān)牢的瞬間不狮,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工在旱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摇零,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓桶蝎,卻偏偏與公主長(zhǎng)得像驻仅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子登渣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容