composer升级_Composer 使用姿势与 Lumen 升级指南
Composer 使用姿勢
這里主要說說 composer.json 和 composer.lock 文件的作用。
composer.json
composer.json 文件包含了項(xiàng)目的依賴和其它的一些元數(shù)據(jù),使用 JSON format 編寫。
當(dāng)初次調(diào)用 composer install 時(shí),Composer 會(huì)根據(jù) composer.json 文件,將定義好的依賴獲取到本地項(xiàng)目中。
與此同時(shí),install 命令將創(chuàng)建一個(gè) composer.lock 文件到項(xiàng)目的根目錄下。
composer.json 的寫法這里不多贅述,具體可以參考 composer.json 架構(gòu)。
composer.lock
安裝依賴后,Composer 會(huì)把安裝時(shí)確切的版本號列表寫入 composer.lock 文件中。
composer.lock 的作用是讓所有開發(fā)者的開發(fā)環(huán)境保持統(tǒng)一,因此,我們需要提交應(yīng)用程序的 composer.lock 到版本庫中。
若對 composer.json 文件進(jìn)行了修改,則使用 composer update 來更新依賴與 composer.lock 文件。
升級指南
前置工作
根據(jù)老版本和具體要升級到的新版本,看一下官方的 升級指南 和新版本文檔,了解新版本的特性和老版本變動(dòng),對不符合新版本要求的代碼進(jìn)行修改。
修改 composer.json
例如我要將 Lumen 升級到 5.8 版本:
"laravel/lumen-framework": "5.8.*"修改后執(zhí)行 composer update,Composer 就會(huì)開始幫我們更新依賴。
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......更新完成后會(huì)發(fā)現(xiàn) composer.lock 文件變更了。
將 composer.lock 提交到版本庫,保證所有開發(fā)環(huán)境的統(tǒng)一。
全面測試
這個(gè)不必多說了,雖然在前置工作中我們已經(jīng)根據(jù)新版本的特性修改了一些代碼,但無法保證程序中沒有遺漏的地方。把所有的單測都跑一跑吧~
總結(jié)
- 當(dāng) composer.lock 不存在時(shí),composer install 將根據(jù) composer.json 文件安裝依賴,并創(chuàng)建 composer.lock 文件
- 當(dāng) composer.lock 文件存在時(shí),composer install 將直接根據(jù) composer.lock 文件拉取依賴
- 使用 composer update 更新依賴與 composer.lock 文件
- 升級 = 文檔研讀 + 代碼修改 + 全面測試
參考資料
- Composer 中文網(wǎng)
總結(jié)
以上是生活随笔為你收集整理的composer升级_Composer 使用姿势与 Lumen 升级指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flash代码_Flash如何对制作文件
- 下一篇: 计算机公式or,【转载】 odds、OR