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檔案中。
本筆記參考:
- https://stackoverflow.com/questions/33052195/what-are-the-differences-between-composer-update-and-composer-install
- https://medium.com/@j4demacia/%E9%97%9C%E6%96%BCcomposer-install-update-require-2a9561e714a4
- http://blog.tonycube.com/2016/12/composer-php.html
- https://zh.wikipedia.org/zh-tw/Composer_(%E8%BB%9F%E9%AB%94)