composer升級_Composer 使用姿勢與 Lumen 升級指南

90f277856c1fc45f94eb2775396b9981.png

Composer 使用姿勢

這里主要說說 composer.jsoncomposer.lock 文件的作用。

composer.json

composer.json 文件包含了項目的依賴和其它的一些元數據,使用 JSON format 編寫。

當初次調用 composer install 時,Composer 會根據 composer.json 文件,將定義好的依賴獲取到本地項目中。

與此同時,install 命令將創建一個 composer.lock 文件到項目的根目錄下。

composer.json 的寫法這里不多贅述,具體可以參考 composer.json 架構。

composer.lock

安裝依賴后,Composer 會把安裝時確切的版本號列表寫入 composer.lock 文件中。

composer.lock 的作用是讓所有開發者的開發環境保持統一,因此,我們需要提交應用程序的 composer.lock 到版本庫中。

若對 composer.json 文件進行了修改,則使用 composer update 來更新依賴與 composer.lock 文件。

升級指南

前置工作

根據老版本和具體要升級到的新版本,看一下官方的 升級指南 和新版本文檔,了解新版本的特性和老版本變動,對不符合新版本要求的代碼進行修改。

修改 composer.json

例如我要將 Lumen 升級到 5.8 版本:

"laravel/lumen-framework": "5.8.*"

修改后執行 composer update,Composer 就會開始幫我們更新依賴。

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 53 updates, 0 removals- Updating symfony/polyfill-php72 (v1.10.0 => v1.11.0): Loading from cache- Updating symfony/polyfill-mbstring (v1.10.0 => v1.11.0): Loading from cache- Updating symfony/var-dumper (v4.1.7 => v4.2.8): Downloading (100%)- Updating symfony/http-foundation (v4.1.7 => v4.2.8): Downloading (100%)- Updating symfony/polyfill-ctype (v1.10.0 => v1.11.0): Loading from cache......

更新完成后會發現 composer.lock 文件變更了。

composer.lock 提交到版本庫,保證所有開發環境的統一。

全面測試

這個不必多說了,雖然在前置工作中我們已經根據新版本的特性修改了一些代碼,但無法保證程序中沒有遺漏的地方。把所有的單測都跑一跑吧~

總結

  • composer.lock 不存在時,composer install 將根據 composer.json 文件安裝依賴,并創建 composer.lock 文件
  • composer.lock 文件存在時,composer install 將直接根據 composer.lock 文件拉取依賴
  • 使用 composer update 更新依賴與 composer.lock 文件
  • 升級 = 文檔研讀 + 代碼修改 + 全面測試

參考資料

  • Composer 中文網

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533681.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533681.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533681.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器間傳文件$d,基于OpenSSH+WinSCP完成Windows服務器之間的文件傳輸

背景經常會遇到在不同服務器之間傳輸文件,Linux和Linux之間用命令rsync, windows和linux之間普遍是有圖形化界面的ftp軟件,老黃平時用的比較多的是FileZilla。Windows和Windows之間的話,90%都是在一臺機器復制,到另一臺…

dbgrideh 為什么只一行_Mysql性能優化:為什么count(*)這么慢?

導讀在開發中一定會用到統計一張表的行數,比如一個交易系統,老板會讓你每天生成一個報表,這些統計信息少不了sql中的count函數。但是隨著記錄越來越多,查詢的速度會越來越慢,為什么會這樣呢?Mysql內部到底是…

jmeter 高并發測試報告_JMeter分布式測試

一、為什么要使用分布式測試按照一般的壓力機配置,jmeter的GUI模式下(Windows),最多支持300左右的模擬請求線程,再大的話,容易造成卡頓、無響應等情況,這是限于jmeter其本身的機制和硬件配置。有時候為了盡量模擬業務場…

登陸攔截攔截ajax,過濾器實現登錄攔截需要注意的問題(AJAX請求的處理)

1.問題描述:最近自己在寫demo時遇到一個問題,在ajax請求時用Filter做登錄攔截,結果頁面不跳轉(Ajax是不能做轉發和重定向的)、、、、最終的最終在同事zt的提示下,恍然大悟,雖然很基本的問題,但也糾結了好久…

半圓陰影_六年級數學:怎么求陰影部分面積?正方形與半圓,割補法常考題

歡迎您來到方老師數學課堂,請點擊上方藍色字體,添加關注。所有的視頻內容,全部免費,請大家放心關注,放心訂閱。六年級數學:怎么求陰影部分面積?正方形與半圓,割補法常考題。大家先在…

c語言判斷整數_用c++編寫閏年的判斷基礎程序

其實c語言與c語言有太多共同的東西,學習過c語言再學習c語言就顯得輕而易舉。當然學過了c再去學習c語言也是有一些幫助的(但是個人不提倡先學習c在學c語言)。由于現在經常看見有關閏年的程序,風式各樣,眼花繚亂,些許凌亂&#xff0…

cat日志 搜索_大日志,看我如何對付你

在服務器接口測試中,我們經常會和各種日志打交道。一旦測試時服務端出現了問題,而單憑服務端的日志又不能發現問題原因的時候,往往開發要向我們測試人員詢問客戶端這邊的情況,希望看看我們能不能提供一些有用信息,如錯…

python編譯成dll文件_用vc生成可被python調用的dll文件

前提已經有.c 和.i文件 用swid編譯了.i文件生成了wrap.c文件和.py文件 vc創建dll工程 將.h加入到頭文件中.c文件和wrap.c文件添加到源文件中 將.i文件添加到工程目錄下 Tools->Options->Directories中修改include 和lib 添加python里的include 和libs 把\libs\python27.l…

加載gif動圖_GIF生成神器——ScreenToGif

每次需要做一個動圖展示時,總是感覺很頭疼。截圖吧,需要的圖片太多;錄視頻吧,文件太大;做動圖吧,太麻煩。今天推薦的這個軟件或許能夠解決大家這個困惑,今天推薦的是動圖生成神器——ScreenToGi…

vue底部選擇器_vue實現動態顯示與隱藏底部導航的方法分析

vue實現動態顯示與隱藏底部導航的方法分析本文實例講述了vue實現動態顯示與隱藏底部導航的方法。分享給大家供大家參考,具體如下:在日常項目中,總有幾個頁面是要用到底部導航的,總有那么些個頁面,是不需要底部導航的&a…

java 修改最大nio連接數_關于java流的幾個概念:IO、BIO、NIO、AIO,有幾個人全知道?...

關于同步、阻塞的知識我之前的文章有介紹,所以關于流用到這些概念與之前多線程用的概念一樣。下面具體來看看java中的幾種流IO/BIOBIO就是指IO,即傳統的Blocking IO,即同步并阻塞的IO。這也是jdk1.4之前的唯一選擇,依賴于ServerSocket實現&am…

python神秘的魔法函數_python魔法函數

一、參考二、構造和初始化2.1 __new__在對象實例化過程中最先調用的方法是__new__, 該方法接收參數為類,然后將其他參數,傳遞給__init__, 該魔法函數比較少見,可以使用其,創建單例類; __new__方法是一個類方法,需要攜帶…

python掃雷 廣度優先_廣度優先搜索(BFS)解題總結

定義 廣度優先搜索算法(Breadth-First-Search),是一種圖形搜索算法。 簡單的說,BFS是從根節點開始,沿著樹(圖)的寬度遍歷樹(圖)的節點。 如果所有節點均被訪問,則算法中止。 BFS同樣屬于盲目搜索。 一般用隊…

python默認參數陷阱_python默認參數陷阱

0|1陷阱?學過函數的人一定聽說過函數的默認參數,關于函數的默認參數,請看以下的例子:def extendList(val, lst[]):lst.append(val)return lstlist1 extendList(10)list2 extendList(123, [])print(list1 %s % list1)print(list…

python裁剪圖片并保存_python – 如何從圖像中剪切輪廓并將其保存到新文件中

大家好,這是我的第一個問題所以請保持溫和.我有一個計算機視覺領域的項目,我是新的,我會很感激一些幫助.我有一個pcb的圖像,我的(首先)任務是從背景中切斷電路板并將其保存到新文件.如果結果只是沒有灰色背景的普通pcb,那就沒問題了. 我到目前為止嘗試的是,首先使用閾值將圖像轉…

opencv如何把一個矩陣不同列分離開_學習OPEN_CV

OpenCv中文論壇精華地址http://www.opencv.org.cn/index.php/User:Ollydbg23http://sivp.sourceforge.net/(sivp)一、基礎操作1. 數據類型 數據結構了解圖像相關:cvArr cvMat IplImage數據數組的維數, 與數據的通道數 見P46 (76)2. 常見的矩陣操作熟悉3…

python文件合并_用Python 將兩個文件的內容合并成一個新的文件.

一個文件的內容是:IntroductiontoProgramming,NetworkingFundamentals,InternetworkingTechnologies,PlatformTechnologies,InformationTechnologyforUsers,ComputerForensics,Enterpr... 一個文件的內容是: Introduction to Programming, Networking Fundamentals, Internetwo…

flash代碼_Flash如何對制作文件進行優化

對FLASH進行優化分為兩方面,一方面是代碼上的優化,主要是通過優化提高FLASH性能,降低CPU占用和內存使用。另一方面是資源的優化,這方面的優化是為了減小編譯后的文件大小以及制作文件的大小,因為如果不進行相應的優化&…

潛流式濕地計算_人工濕地計算書

人工濕地計算書1、尾水提升泵房集水池基本參數集水池設計規模為30000m3/d,約折合1250m3/h,按水力停留時間HRT為0.25 h計,集水井有效容積應為312.5 m3,考慮到與污水廠原有排污管道相契合,集水設計尺寸為:LBH…

deepin系統轉為windows_windows系統下安裝深度系統deepin

前期準備DiskGenius(用來擴展分區)deepin-20-amd64.iso(深度系統鏡像文件)相關文件下載首先下載安裝時要用的工具,分別為:DiskGenius , UltraISODiskGenius是一款磁盤工具,創建系統分區。UltraISO是用來打開系統光盤鏡像文件工具。Win8/8.1/10無需下載Ul…