如何在 Ubuntu 20.04 上安裝和使用 Composer

本文最先發布在: 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 項目。

第一步就是去創建項目根目錄,並且切換到該目錄:

阿里雲: 爆款雲服務器低至1折,1核1G 1M 僅17月/月

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.jsoncomposer.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 類,而不用使用requireinclude聲明。

創建一個名爲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 官方文檔頁面

阿里雲: 爆款雲服務器低至1折,1核1G 1M 僅17月/月




如果你有任何疑問,請通過以下方式聯繫我們:

微信:

微信羣: 加上面的微信,備註微信羣

QQ: 3217680847

QQ 羣: 82695646雪夢科技交流羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章