Composer install/update/require 差別

2022/05/19閱讀時間約 2 分鐘
Composer是PHP的軟體包管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。(引用自維基百科)

composer install

這個指令會安裝composer.lock中定義的套件(Laravel專案中可以看到生成vendor資料夾),如果找不到composer.lock這個檔案,則會根據composer.json的定義去安裝,並自動產生composer.lock檔案。

composer update

這個指令會安裝composer.json中指定或最新版本的required packages,然後更新composer.lock檔案,在其中記錄安裝的package版本。
  • 這個指令會更新composer.json中指定的套件版本,比如在require中這樣寫:
"monolog/monolog": "1.0.0"
這樣就只會安裝monolog 1.0.0這個版本,如果原本就是1.0.0就不會更新。
  • 但如果是這樣:
"monolog/monolog": "1.0.*"
則會upgrade至最新released版本的monolog,可能是1.0.3。
另外,假如原本已經安裝的套件,在composer.json中不再required,就會被移除。

composer require

安裝套件用的指令,如下範例:
$ composer require tymon/jwt-auth "1.0.1"
同時會將套件資訊記錄到composer.json與composer.lock檔案中。
本筆記參考:
  1. https://stackoverflow.com/questions/33052195/what-are-the-differences-between-composer-update-and-composer-install
  2. https://medium.com/@j4demacia/%E9%97%9C%E6%96%BCcomposer-install-update-require-2a9561e714a4
  3. http://blog.tonycube.com/2016/12/composer-php.html
  4. https://zh.wikipedia.org/zh-tw/Composer_(%E8%BB%9F%E9%AB%94)
為什麼會看到廣告
20會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!