composer update install 區(qū)別

composer update install 區(qū)別

composer update install 區(qū)別

1.composer install

install 命令從當(dāng)前目錄讀取 composer.json 文件,處理了依賴關(guān)系,并把其安裝到 vendor 目錄下。

php?composer.phar?install

如果當(dāng)前目錄下存在 composer.lock 文件,它會(huì)從此文件讀取依賴版本,而不是根據(jù) composer.json 文件去獲取依賴。這確保了該庫的每個(gè)使用者都能得到相同的依賴版本。

如果沒有 composer.lock 文件,composer 將在處理完依賴關(guān)系后創(chuàng)建它。

2.composer update

為了獲取依賴的最新版本,并且升級 composer.lock 文件,你應(yīng)該使用 update 命令。

php?composer.phar?update

這將解決項(xiàng)目的所有依賴,并將確切的版本號(hào)寫入 composer.lock。

如果你只是想更新幾個(gè)包,你可以像這樣分別列出它們:

php?composer.phar?update?vendor/package?vendor/package2

你還可以使用通配符進(jìn)行批量更新:

php?composer.phar?update?vendor/*

區(qū)別:

composer install命令(主要)用于生產(chǎn)環(huán)境,composer.lock文件記錄項(xiàng)目當(dāng)前版本信息,當(dāng)執(zhí)行install命令時(shí),會(huì)檢測lock文件的各版本與最新版本差別,如果有則更新到最新版。而composer update命令也會(huì)執(zhí)行上述所講,但是如果在composer.json文件添加庫到require字段時(shí),就必須用composer update命令了。但這時(shí)會(huì)更新其他庫的內(nèi)容,此時(shí)如果只是添加某個(gè)庫而不更新其他庫(例如生產(chǎn)環(huán)境),就要使用composer require “包名:版本號(hào)” 命令了。

composer init –require=包名:版本號(hào) -n 還可以自動(dòng)更新composer.json文件。

一點(diǎn)拙見,表述不是太好,希望看到的大牛可以補(bǔ)充以深化理解。

注:這個(gè) install 命令會(huì)優(yōu)先根據(jù) lock 文件中的版本去解決依賴,而并不會(huì)去做更新檢查或者讀取 json 中的版本號(hào),這樣才能讓該庫的每個(gè)使用者都能得到相同的依賴版本。所以提交項(xiàng)目的時(shí)候強(qiáng)烈建議也要提交 lock 文件,update 命令才會(huì)檢查更新同時(shí)更新 lock 文件里的版本號(hào)。

更多composer使用技術(shù)文章,請?jiān)L問composer使用教程欄目!

以上就是

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