簡介#
Composer 是 PHP 中的相依性管理工具。它讓您可以宣告專案所依賴的函式庫,並且會替您管理(安裝/更新)它們。
相依性管理#
Composer 不是 一個套件管理員,與 Yum 或 Apt 的概念不同。是的,它處理「套件」或函式庫,但它是按專案地管理,將它們安裝在專案內部的目錄(如 vendor
)中。它預設不會在全域內安裝任何東西。因此,它是一個相依性管理員。然而它透過 global 指令支援「全域」專案以便使用。
這個概念並不新,因為 Composer 主要參考 Node.js 的 npm 以及 Ruby 的 bundler。
假設
- 您有一個依賴數個函式庫的專案。
- 其中一些函式庫依賴其他函式庫。
Composer
- 讓您可以宣告您所依賴的函式庫。
- 找出哪些套件的哪些版本可以且需要安裝,然後安裝它們(將它們下載到您的專案中)。
- 您可以使用一個指令更新您所有的相依性。
請參閱 基本用法 章節,以了解詳細的相依性宣告。
系統需求#
最新版本的 Composer 需要 PHP 7.2.5 才能執行。長期支援版本 (2.2.x) 仍提供對 PHP 5.3.2+ 的支援,以防您遇到舊版的 PHP。另外,還需要一些敏感的 PHP 設定和編譯標記,但您在使用安裝程式時,會對任何不相容性收到警告。
Composer 需要數個支援應用程式才能有效運作,進而讓處理套件相依性的流程更高效率。Composer 仰賴 7z
(或 7zz
)、gzip
、tar
、unrar
、unzip
和 xz
等工具來解壓縮檔案。至於版控系統,Composer 可與 Fossil、Git、Mercurial、Perforce 和 Subversion 完美整合,進而確保應用程式的順利運作,並管理程式庫存放庫。在使用 Composer 之前,請確保這些相依性已正確安裝到你的系統。
Composer 為多平台,我們致力於讓它在 Windows、Linux 和 macOS 上都能運作良好。
安裝 - Linux / Unix / macOS#
下載 Composer 可執行檔#
Composer 提供一個便利的安裝程式,你可以直接在命令列中執行。你可以隨時下載這個檔案或在 GitHub 上檢閱,如果你想進一步了解安裝程式的內部運作。原始碼是純 PHP。
簡而言之,有兩種方法可以安裝 Composer:作為專案一部分的本機端安裝,或是作為系統廣泛可執行檔的全球安裝。
本機端安裝#
若要安裝本機端的 Composer,請在專案目錄中執行安裝程式。請參閱 下載頁面 以取得說明。
安裝程式會檢查數個 PHP 設定值,然後將 composer.phar
下載到你的工作目錄。這個檔案是 Composer 二進位檔。它是一個 PHAR(PHP 檔案庫),這是一種 PHP 檔案庫格式,除了其他功能之外,還可以在命令列上執行。
現在執行 php composer.phar
以執行 Composer。
你可以使用 --install-dir
選項將 Composer 安裝到特定目錄,此外還可以透過 --filename
選項重新為它命名。在按照 下載頁面說明 執行安裝程式時,新增以下參數:
php composer-setup.php --install-dir=bin --filename=composer
現在執行 php bin/composer
以執行 Composer。
全球安裝#
你可以將 Composer PHAR 放置在任何你想要的位置。如果你將它放置在 PATH
一部分的目錄中,你就能在全球範圍內存取它。在 Unix 系統中,你甚至可以讓它可執行,並在不直接使用 php
解譯器的情況下呼叫它。
在按照 下載頁面說明 執行安裝程式後,你可以執行此命令將 composer.phar 移到路徑中的目錄:
mv composer.phar /usr/local/bin/composer
如果你只想為你的使用者安裝,並避免需要 root 權限,你可以改用 ~/.local/bin
,在某些 Linux 發行版上預設可以使用。
注意: 如果上述操作因權限而失敗,你可能需要使用
sudo
再次執行。注意:在某些版本的 macOS 中,
/usr
目錄在預設情況下不存在。如果您收到「/usr/local/bin/composer:找不到此類檔案或目錄」的錯誤訊息,那麼您必須在繼續之前手動建立該目錄:mkdir -p /usr/local/bin
。注意:關於變更您的 PATH 的資訊,請閱讀 Wikpedia 文章 和/或使用您選擇的搜尋引擎。
現在執行 composer
以執行 Composer,而不是 php composer.phar
。
安裝 - Windows#
使用安裝程式#
這是讓 Composer 設定於您的機器上的最簡單方式。
下載並執行 Composer-Setup.exe。它將安裝最新的 Composer 版本並設定您的 PATH,以便您可以從命令列中的任何目錄呼叫 composer
。
注意:關閉您目前的終端機。使用新的終端機測試使用:這很重要,因為只有在終端機啟動時,PATH 才會載入。
手動安裝#
切換至您的 PATH
上的目錄,並依照 下載頁面的說明 執行安裝程式以下載 composer.phar
。
在 composer.phar
旁邊建立新的 composer.bat
檔案
透過 cmd.exe 使用
C:\bin> echo @php "%~dp0composer.phar" %*>composer.bat
透過 PowerShell 使用
PS C:\bin> Set-Content composer.bat '@php "%~dp0composer.phar" %*'
如果尚未新增目錄至您的 PATH 環境變數,請新增。關於變更您的 PATH 變數的資訊,請參閱 這篇文章 和/或使用您選擇的搜尋引擎。
關閉您目前的終端機。使用新的終端機測試使用
C:\Users\username>composer -V
Composer version 2.4.0 2022-08-16 16:10:48
Docker 映像#
Composer 在若干地方以 Docker 容器的形式發布,請參閱 composer/docker README 中的清單。
使用範例
docker pull composer/composer
docker run --rm -it -v "$(pwd):/app" composer/composer install
若要將 Composer 新增至現有的 Dockerfile,您可以從預先建立的低尺寸映像中複製二進位檔案
# Latest release
COPY --from=composer/composer:latest-bin /composer /usr/bin/composer
# Specific release
COPY --from=composer/composer:2-bin /composer /usr/bin/composer
閱讀 映像說明 以取得更多使用資訊。
注意:特定於 Docker 的問題應提交至 composer/docker 存放庫。
注意:您也可以使用 composer
代替上方的映像名稱中的 composer/composer
。它較短且為 Docker 官方映像,但並非直接由我們發布,因此通常會延後幾天收到新版本。重要事項:簡寫的別名映像沒有二進位檔版本,因此對於 COPY --from
方法,最好使用 composer/composer
的版本。
使用 Composer#
安裝 Composer 後,您就準備使用它了!繼續前往下一章節以進行簡短示範。
基本使用 →