下面由composer使用教程欄目帶大家介紹composer 2.0的新功能說明,希望對需要的朋友有所幫助!
1.有什么新功能?
-
對于命令行(CLI)用戶
-
新的平臺檢查功能檢查運行時 php 版本和可用擴展,以確保它們與項目依賴項匹配。如果發現不匹配,它將退出并顯示錯誤詳細信息。建議在生成或部署過程中使用生產 PHP 流程運行composer check-platform-reqs
-
如果包存在于優先級較高的存儲庫中,則現在在優先級較低的存儲庫中將完全忽略該包。有關詳細信息,請參閱存儲庫優先級。
-
無效的 PSR-0 / PSR-4 類配置在優化自動加載器模式下不再自動加載,根據 1.10 中引入的警告
-
在支持 XDG 基本目錄規范的 linux 系統上,Composer 現在更喜歡使用 XDG_CONFIG_DIR/composer 而不是 ~/.composer(如果兩者都可用1.x 首先使用 ~/.composer first)
-
包名稱現在必須符合我們的命名準則,否則 Composer 將發生錯誤并終止運行。(https://github.com/composer/composer/blob/2.0.0/doc/04-schema.md#name)
-
不推薦使用 –no-suggest ,因為不再需要它
-
PEAR 支持(存儲庫、下載器等)已被刪除
-
update現在首先列出對 composer.lock 文件的更改(更新步驟),然后列出將鎖文件安裝到 vendor目錄 時應用的更改(安裝步驟)
-
HTTPS_PROXY_REQUEST_FULLURI如果未指定, 現在將默認為 false, 因為這似乎在大多數環境中工作得更好
-
dev-trunk, dev-master 和dev-default 并且不再是彼此的別名。現在保留確切的分支名稱。
2. 依賴項解析、作曲家更新和安裝期間事件流的詳細差異
composer v1
-
composer解析依賴關系(調度 PRE/POST_DEPENDENCIES_SOLVING)
-
然后,它一步一步地遍歷所有軟件包(調度PRE_PACKAGE_INSTALL / UPDATE / UNINSTALL,然后根據需要調度PRE_FILE_DOWNLOAD,然后進行POST_PACKAGE_ *)。
-
最后在末尾寫入鎖文件
composer v2
-
更新和安裝過程已拆分。
更新會:
-
composer 解析依賴項(調度PRE_POOL_CREATE)
-
然后寫入鎖定文件,更新結束
然后安裝:
-
向PRE_OPERATIONS_EXEC發送要執行的完整操作列表
-
并行下載所有尚未在緩存中的軟件包(為尚未在緩存中的軟件包調度PRE_FILE_DOWNLOAD)
-
然后,它遍歷所有軟件包并并行執行更新/安裝/卸載(先分發PRE_PACKAGE_INSTALL / UPDATE / UNINSTALL,然后發布POST_PACKAGE_ *,但是最后啟動的一個軟件包可能會在完成另一個安裝之前完成安裝)。