關(guān)于 composer 易忽略的知識(shí)

下面由composer教程欄目給大家介紹關(guān)于 composer 易忽略的知識(shí),希望對(duì)需要的朋友有所幫助!

關(guān)于 composer 易忽略的知識(shí)

1.composer 版本號(hào) ~ ^ *

(1) 包版本:*

{ "require":?{ ????"monolog/monolog":?"1.0.*" } }

1.0.* 這表示任何從 1.0 開始的開發(fā)分支,它將會(huì)匹配 1.0.0、1.0.2 或者 1.0.20。

(2) 包版本:~

~1.2 相當(dāng)于 >=1.2,

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

(3) 包版本:^

^1.2.3 相當(dāng)于>=1.2.3

2.composer install

(1)如果已經(jīng)存在composer.lock時(shí),讀取composer.lock下載依賴。

(2)如果沒有 composer.lock 文件,讀取 composer.json 文件,處理依賴關(guān)系,并把其安裝到 vendor 目錄下。

也就是說本地有一份composer.lock,你就可以保證無論過去了多久,你都能拉到相同的依賴。

所以應(yīng)該把 composer.lock 放到 git 版本庫中,這樣可以確保你項(xiàng)目中的每一個(gè)人、每一臺(tái)電腦,不管什么系統(tǒng),都能拉取到一模一樣的依賴,以減少潛在的依賴對(duì)部署的影響。

3.composer update

讀取composer.json中指定的依賴,然后拉取依賴放入vendor目錄下,并且把所有拉取依賴的確切的版本號(hào)寫入composer.lock文件中。

(1)那么什么時(shí)候需要使用composer update呢?

比如某擴(kuò)展發(fā)布的新版本有我們需要的新功能時(shí),這時(shí)我們需要更新該擴(kuò)展,我們update時(shí)指定具體更新的擴(kuò)展名,如composer update package 而不要直接composer update。因?yàn)橹苯觕omposer update后,所有的擴(kuò)展都會(huì)更新,風(fēng)險(xiǎn)很大。

4.總結(jié):

(1)composer update 根據(jù)composer.json來更新的,并把擴(kuò)展的版本號(hào)寫入到composer.lock中。

(2)composer install 根據(jù)composer.lock來更新的

(3)開發(fā)過程中 少用 composer update ,應(yīng)該用 composer install

(4)如果新加一個(gè)包,可以使用:composer require “包名:版本號(hào)”

更多composer相關(guān)技術(shù)文章,請(qǐng)?jiān)L問composer欄目:composer

以上就是關(guān)于

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享