2020/10/24

[Composer] v2.0 已釋出! 來更新至最新的 Composer 2.0 版本吧!

2020-10-24 Composer 2.0 正式釋出!

關於 Composer 2.0 新功能

  • 改善效能 50% 以上 (這個很需要啊)
  • 架構變更及確定性:vendor 更新不受網路錯誤干擾
  • Runtime 特徵 (可在 composer.json 設定 "composer-runtime-api": "^2.0")
  • 錯誤訊息改善
  • 暫時限制部分更新 (composer update vendor/package:1.0.*)

如何更新至 Composer 2.0

Composer 2.0 基本上可以順利快速升級

  • 2.0 版本仍支援 PHP 5.3 以上版本
  • composer.lock 檔案可在版本間互相操作,可更新至 2.0 版本或是回復
  • 大多數的命令在 2.0 保持一致

若原先使用 Composer 1.x 版本,執行 composer self-update 則會更新 1.x 的主要穩定版本

更新至 2.0 只要執行以下命令

composer self-update --2

若隨時要變更至 1.x 版本,則執行

composer self-update --1

向下相容問題

  • plugings: 需要更新支援 Composer 2
  • 避免相容性錯誤,可在部署至 production 時執行 composer check-platform-reqs --no-dev
  • Repository 優先性:若套件存在於較高優先的儲存庫,即會完全忽略較低優先性的儲存庫
  • 無效的 PSR-0 / PSR-4 設定將不自動載入 optimized-autoloader 模式

未來如何

根據發佈消息,Composer 2.1 應該還是會支援 PHP 5.3,但 Composer 2.2 就會要求要 PHP 7.1.3 以上版本。

References