本文最先釋出在:
https://www.itcoder.tech/posts/how-to-install-and-use-composer-on-ubuntu-20-04/ Composer是一個 PHP 依賴管理器(類似于 Node.js 的 npm,或者 Python 的 pip)。
Composer 将會拉取你的項目所依賴的所有 PHP 軟體包,并且為你管理它們。它被所有現代化的 PHP 架構和平台所使用,例如: Laravel, Symfony, Drupal, 和 Magento 2。
這篇指南解釋如何在 Ubuntu 20.04 上安裝和使用 Composer。
一、在 Ubuntu 上安裝 PHP Composer
在安裝 Composer 之前,確定你已經在你的系統上安裝了必要的依賴軟體包:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer 提供了一個使用 PHP 編寫的安裝器,我們可以用來安裝 Composer。 使用
wget
來下載下傳這個安裝器:
wget -O composer-setup.php https://getcomposer.org/installer
上面這個指令将會将檔案在目前檔案夾下儲存為
composer-setup.php
。
Composer 是一個簡單的 CLI 應用程式檔案,并且既可以被全局安裝,也可以作為項目的一部分進行安裝。全局安裝需要 sudo 權限。
- 想要在系統範圍内全局安裝 Composer,将會對所有使用者可用,隻需要将檔案放到系統 PATH 路徑下。運作下面的指令将 Composer 安裝到
目錄:/usr/local/bin
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
輸出:
All settings correct for using Composer
Downloading...
Composer (version 1.10.7) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
現在你可以在你的終端通過運作
composer
來使用 Composer。
- 想要在本地項目安裝 composer,輸入:
sudo php composer-setup.php --install-dir=/path/to/project
這将會在你的項目根目錄下下載下傳一個名為
composer.phar
的檔案。想要使用 Composer ,切換到項目目錄,并且運作
php composer.phar
當一個新的 Composer 版本可用時,你可以使用下面的指令來更新:
sudo composer self-update
二、Composer 入門
現在 Composer 已經在你的 Ubuntu 系統上被安裝好了,我們一起看看如何使用 Composer 去建立一個 PHP 項目。
第一步就是去建立項目根目錄,并且切換到該目錄:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
在這個例子中,我們将會使用一個叫做
carbon
的 PHP 軟體包來建立一個示例應用,并且列印目前時間。
運作下面的指令初始化一個新的 Composer 項目,并且安裝 carbon 軟體包:
composer require nesbot/carbon
Using version ^2.35 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.1.2): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)
- Installing symfony/translation (v5.1.2): Downloading (100%)
- Installing nesbot/carbon (2.35.0): Downloading (100%)
Writing lock file
Generating autoload files
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
就像輸出所顯示的, Composer 建立了
composer.json
檔案,下載下傳,并且安裝了 carbon 和所有的依賴軟體包。
如果你列出你的項目目錄,你将會看到它包含兩個檔案
composer.json
和
composer.lock
,并且有一個
vendor
目錄。
ls -l
-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor
-
是存放項目依賴軟體包的目錄vendor
-
是一個檔案,保留了所有已經安裝的軟體包和他們的版本号,鎖定項目到指定的版本。composer.lock
-
是用來描述 PHP 項目,包括 PHP 依賴和其他中繼資料的檔案。composer.json
所有通過 Composer 可以安裝的 PHP 軟體包都列在 [Packagist](https://packagist.org/)。
Composer 擁有自動加載的能力,它允許你使用 PHP 類,而不用使用
require
include
聲明。
建立一個名為
testing.php
的測試檔案,并且添加下面的代碼:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
讓我們一行一行分析代碼。
/vendor/autoload.php
檔案由 Composer 自動生成,并且可以自動加載所有的庫。
下一行建立
Carbon
的關聯,并且最後使用 Carbon 的
now
方法列印出目前的時間。
輸入下面的指令,運作腳本:
php testing.php
輸出将會像下面這樣:
Now: 2020-06-17 20:41:04
稍後,如果你想更新你的 PHP 軟體包,你隻需簡單運作:
composer update
上面的這個指令,我們會檢查所有已經安裝的軟體包是否有更新的版本,并且,如果有更新的版本,Composer 将會更新軟體包。
三、總結
我們已經向你展示如何在 Ubuntu 20.04 上安裝 Composer,并且如何使用它建立一個基礎的 PHP 項目。
想要尋找更多關于 Composer 的資訊,請浏覽
Composer 官方文檔頁面如果你有任何疑問,請通過以下方式聯系我們:
微信:
微信群:
加上面的微信,備注微信群
QQ: 3217680847
QQ 群: 82695646