composer 哪些知識點容易忽略

下面由composer使用教程欄目給大家介紹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,

~1.2 只意味著 .2 部分可以改變,但是 1. 部分是固定的。

(3) 包版本:^

^1.2.3 相當于>=1.2.3

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欄目!

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享