Composer是PHP的依賴管理工具,通過composer.json定義和管理專案依賴,支援自動載入功能以簡化類載入,並允許運行自訂指令碼,是現代PHP開發的重要工具。
安裝前提
已安裝PHP,且版本不低於PHP 5.6。若未安裝,您可以參考安裝PHP文檔介紹安裝。
PHP已開啟openssl擴充。
Composer安裝
您可以根據作業系統的不同,按照以下步驟安裝 Composer。
Windows
下載Composer安裝程式。
訪問Composer官網,在Windows Installer中單擊Composer-Setup.exe下載。

運行安裝程式並按提示操作。
驗證是否安裝成功。
同步選取
Win+R鍵,輸入cmd後按斷行符號鍵開啟命令列,在命令列輸入composer -V,如果出現如下所示提示,則表示安裝成功。Composer version 2.7.7 2024-06-10 22:11:12 PHP version 7.4.33 Run the "diagnose" command to get more detailed diagnostics output.
Linux
您可以執行以下命令安裝 Composer:
Alibaba Cloud Linux/CentOS
sudo yum install -y composerUbuntu/Debian
sudo apt install -y composer
您可以使用命令
composer --version檢查是否安裝成功。如果出現如下所示提示,則表示安裝成功。Composer version 1.10.27 2023-09-29 10:50:23
macOS
您可以執行以下命令安裝 Composer:
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer chmod +x /usr/local/bin/composer您可以使用命令
composer --version檢查是否安裝成功。
Composer使用
安裝依賴
install命令
在專案的目錄下建立一個composer.json檔案,檔案描述了專案的依賴關係。檔案格式如下:
{ "require": { "alibabacloud/dysmsapi-20170525": "4.1.*" } }以上檔案表示需要下載從4.1.0開始的任何版本的alibabacloud/dysmsapi-20170525。運行以下命令即可安裝依賴包:
composer installrequire命令
也可以使用require命令快速地安裝一個依賴而不需要手動在composer.json裡添加依賴資訊:
composer require alibabacloud/dysmsapi-20170525Composer 會先找到合適的版本,然後更新composer.json檔案,在require中添加alibabacloud/dysmsapi-20170525包的相關資訊,再把相關的依賴下載下來進行安裝,最後更新composer.lock檔案並產生php的自動負載檔案。
更新依賴
update 命令用於更新專案裡所有的包,或者指定的某些包:
# 更新所有依賴
composer update
# 更新指定的包
composer update alibabacloud/dysmsapi-20170525
# 更新指定的多個包
composer update alibabacloud/dysmsapi-20170525 alibabacloud/credentials
# 還可以通過萬用字元匹配包
composer update alibabacloud/*需要注意的是,包能升級的版本會受到版本約束的約束,包不會升級到超出約束的版本的範圍。
移除依賴
remove 命令用於移除一個包及其依賴(在依賴沒有被其他包使用的情況下),如果依賴被其他包使用,則無法移除:
composer remove monolog/monolog查看已安裝包列表
composer show --installed版本約束
精確版本
明確指定Composer依賴的具體版本。例如,通過執行命令composer require alibabacloud/dysmsapi-20170525 4.1.2,表示安裝4.1.2版本。
範圍
通過使用比較操作符來指定包的範圍,這些比較操作符包括:>、>=、<、<=、!=。同時,可以定義多個範圍,多個範圍之間支援邏輯與(空格或逗號)和邏輯或(||),邏輯與優先順序更高。
composer require alibabacloud/dysmsapi-20170525 >=4.1表示安裝大於等於4.1.0版本。composer require alibabacloud/dysmsapi-20170525 >=4.1 || <4.2表示安裝任何4.1.X版本。
萬用字元(*)
允許次版本或補丁版本的更新,但不會跨越主要版本。例如,執行命令composer require alibabacloud/dysmsapi-20170525 4.1.* 表示安裝任何4.1.x版本(即>=4.1.0 <4.2.0)。
波浪號(~)
允許從指定版本開始的所有補丁和次版本更新,但不會跨越主要版本。例如,執行命令composer require alibabacloud/dysmsapi-20170525 ~4.1.3表示安裝版本範圍為>=4.1.3且<4.2.0。
折音號(^)
允許所有非破壞性更新(包括次版本和補丁層級),但禁止主要版本升級。例如,執行命令composer require alibabacloud/dysmsapi-20170525 ^4.1表示安裝版本範圍為>=4.1.0且<5.0.0 。