<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      如何正確使用 Composer 安裝 Laravel 擴展包

      問題說明

      我們經(jīng)常要往現(xiàn)有的項目中添加擴展包,有時候因為文檔的錯誤引導(dǎo),如下圖來自這個文檔的: 

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

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

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

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

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

      接下來我們一一解釋。

      簡單解釋

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

      流程

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

      流程一:新項目流程

      1. 創(chuàng)建 composer.json ,并添加依賴到的擴展包; 
        • 運行 composer install ,安裝擴展包并生成 composer.lock ; 
        • 提交 composer.lock 到代碼版本控制器中,如:git; 

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

      • 克隆項目后,根目錄下直接運行 composer install 從 composer.lock 中安裝 指定版本 的擴展包以及其依賴; 

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

      流程三:為項目添加新擴展包

      • 使用 composer require vendor/package 添加擴展包; 
      • 提交更新后的 composer.json 和 composer.lock 到代碼版本控制器中,如:git; 

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

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

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

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

      答案是:使用 composer require 命令 

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

      上面的概念不論對新手或者老手來說,都比較混淆,主要記住這個概念:

      原有項目新添加擴展的,都使用 composer require new/package 這種方式來安裝。 

      完。

      原文鏈接:http://www.tuicool.com/articles/riYbm2b

      posted on 2017-06-08 10:49  BuildyMan  閱讀(519)  評論(0)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 九九re线精品视频在线观看视频| 国产亚洲av人片在线播放| 中文字幕日本一区二区在线观看| 米奇亚洲国产精品思久久| 麻豆最新国产AV原创精品| 成年女人黄小视频| 国产成人夜色高潮福利app| 极品粉嫩小泬无遮挡20p| 精品少妇后入一区二区三区| 豆国产97在线 | 亚洲| 男人的天堂av社区在线| 久久精品国产高潮国产夫妻 | 国产精品久久久久影院色| 久久香蕉欧美精品| 国产良妇出轨视频在线观看| 色吊丝二区三区中文写幕| 不卡一区二区国产精品| 亚洲欧美高清在线精品一区二区| 亚洲丰满熟女一区二区蜜桃| 日韩在线成年视频人网站观看| 亚洲中文字幕一二区日韩| 97在线视频人妻无码| 国产一区二区三区九精品| 人妻丝袜无码专区视频网站| 日本一区二区三区视频版| 久久精品第九区免费观看| 日日橹狠狠爱欧美视频| 深夜av在线免费观看| 日本三级理论久久人妻电影| 日韩av一区二区三区不卡| 久久婷婷成人综合色| 亚洲天堂亚洲天堂亚洲天堂| 国产成人午夜精品福利| 亚洲国产中文字幕精品| 国产成人综合亚洲欧美日韩| 天堂网国产| mm1313亚洲国产精品| 成人免费毛片aaaaaa片| 国产精品自拍三级在线观看| 亚洲av成人一区在线| 人妻少妇精品中文字幕|