天天看點

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

如何在 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 項目。

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

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](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 官方文檔頁面

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

微信:

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

微信群:

加上面的微信,備注微信群

QQ: 3217680847

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

QQ 群: 82695646

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