本文最先發布在: 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
是一個文件,保留了所有已經安裝的軟件包和他們的版本號,鎖定項目到指定的版本。 -
composer.json
是用來描述 PHP 項目,包括 PHP 依賴和其他元數據的文件。所有通過 Composer 可以安裝的 PHP 軟件包都列在 Packagist。
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