下面由composer使用教程欄位來介紹composer 易忽略的知識,希望對需要的朋友有幫助!
1.composer 版本號~ ^ *
(1) 套件版本:*
{ "require": { "monolog/monolog": "1.0.*" } }
1.0.* 這表示任何從1.0 開始的開發分支,它將會匹配1.0.0、1.0.2 或1.0.20。
(2) 套件版本:~
~1.2 相當於>=1.2,<2.0, 即1 版本,符合前1 位1.
#~1.2只意味著.2 部分可以改變,但是1. 部分是固定的。
(3) 套件版本:^
^1.2.3 相當於>=1.2.3 <1.3 即符合前2 位1.2
#2.composer install
(1)如果已經存在composer.lock時,讀取composer.lock下載相依性。
(2)如果沒有 composer.lock 文件,讀取 composer.json 文件,處理依賴關係,並將其安裝到 vendor 目錄下。
也就是說本地有一份composer.lock,你就可以保證無論過去了多久,你都能拉到相同的依賴。
所以應該把composer.lock 放到git 版本庫中,這樣可以確保你專案中的每一個人、每一台電腦,不管什麼系統,都能拉取到一模一樣的依賴,以減少潛在的依賴對部署的影響。
3.composer update
讀取composer.json中指定的依賴,然後拉取依賴放入vendor目錄下,並且把所有拉取依賴的確切的版本號寫入composer .lock文件中。
(1)那麼什麼時候需要使用composer update呢?
例如某擴展發布的新版本有我們需要的新功能時,這時我們需要更新該擴展,我們update時指定具體更新的擴展名,如composer update package 而不要直接composer update。因為直接composer update後,所有的擴充都會更新,風險很大。
4.總結:
(1)composer update 根據composer.json來更新的,並把擴充的版本號寫入到composer.lock。
(2)composer install 根據composer.lock來更新的
(3)開發過程中少用composer update ,應該用composer install
(4)如果新加一個包,可以使用:composer require "包名:版本號"
更多composer技術文章,請訪問#composer欄位!
以上是composer 哪些知識點容易忽略的詳細內容。更多資訊請關注PHP中文網其他相關文章!