ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Установка и использование Composer на Ubuntu 18.04

Установка и использование Composer на Ubuntu 18.04

Composer – это менеджер зависимостей для PHP. Composer будет использовать все необходимые пакеты PHP, от которых зависит ваш проект и управление ими.

В этой статье мы покажем вам, как установить и использовать Composer на сервере Ubuntu 18.04.

Хотя эта статья написана для Ubuntu 18.04, те же самые шаги можно использовать для Ubuntu 16.04.

 

Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo, и у вас установлен PHP на вашей системе Ubuntu 18.04.

 

Чтобы установить Composer в вашу систему Ubuntu, выполните следующие действия:

  1. Перед загрузкой и установкой Composer сначала нам нужно установить пакет CLI PHP, который доступен в репозиториях Ubuntu:
    sudo apt install php-cli

     

  2. Теперь, когда у нас установлен php cli на нашей машине, мы можем скачать установщик Composer с помощью:
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

     

    Приведенная выше команда загрузит файл composer-setup.php в текущий рабочий каталог.

  3. Затем нам нужно проверить целостность данных сценария, сравнив хэш-код SHA-384 с последним хешем установщика, найденным на странице « Публичные ключи/подписи Composer». Мы будем использовать следующую команду wget, чтобы загрузить ожидаемую подпись последнего установщика Composer со страницы Github Composer и сохранить ее в переменной с именем HASH:
    HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

     

    Теперь запустите следующую команду, чтобы убедиться, что сценарий установки не поврежден:

    php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

     

    Если хеши совпадают, вы увидите следующий вывод:

    Installer verified

     

    Если хеши не совпадают, вы увидите Installer corrupt. В этом случае вам нужно будет повторно загрузить сценарий установки Composer и дважды проверить значение переменной $HASH.echo $HASH. Как только программа установки будет проверена, вы можете продолжить следующий шаг.

  4. Следующая команда установит 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.7.2) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

     

    composer устанавливается как общесистемная команда, и он будет доступен для всех пользователей.

  5. Последний шаг – проверить установку:
    composer

     

    Вышеприведенная команда напечатает версию, команды и аргументы Composer.

    ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.7.2 2018-08-16 16:57:12
    
    Usage:
        command [options] [arguments]

     

Если вы хотите установить Composer для каждого проекта, используйте следующую команду, php composer-setup.php, которая создаст файл composer.phar, указанный в вашем текущем рабочем каталоге. Вы можете использовать Composer, запустив./composer.phar <command>.

 

Теперь, когда Composer установлен в вашей системе Ubuntu, мы покажем вам, как использовать Composer в проекте PHP.

Первый шаг – создать каталог, который будет корневым каталогом проекта и удерживать файл composer.json. Этот файл описывает ваш проект PHP, включая зависимости PHP и другие метаданные.

Создайте каталог проекта и переключитесь на него с помощью:

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

 

Следующим шагом будет инициализация нового composer.json с помощью команды composer require <package name> и определение пакета, который мы хотим загрузить.

В этом примере мы создадим пример приложения, которое будет печатать текущее время с помощью пакета под названием carbon.

Выполните следующую команду для инициализации нового composer.jsonи установки пакета Carbon:

composer require nesbot/carbon

 

Using version ^1.33 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)         
  - Installing symfony/translation (v4.1.4): Downloading (100%)         
  - Installing nesbot/carbon (1.33.0): Downloading (100%)         
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files

 

Как видно из выхода выше, Composer создаст файл composer.json, и он будет загружать и устанавливать carbon и все его зависимости.

Если вы перечисляете директорию вашего проекта, вы увидите, что он содержит два файла composer.jsonи composer.lock, и каталог vendor.

ls -l

 

-rw-r--r-- 1 linuxize users   60 Aug 02 14:04 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 02 14:04 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 02 14:04 vendor

 

Вы можете поискать репозиторий Composer Packagist для пакетов PHP.

Composer предоставляет возможности автозагрузки, которые позволяют нам использовать классы PHP без необходимости использования файлов requireили include.

Создайте файл с именем testing.phpи добавьте следующий код:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Текущее время: %s", Carbon::now());

Давайте проанализируем код по строкам.

В первой строке после открытия php-тега мы включаем файл vendor/autoload.php, который автоматически генерируется Composer, который будет автоматически загружать все библиотеки.

Затем преобразуем Carbon\Carbonкак Carbonи с последней строкой, мы печатаем текущее время с использованием метода now Carbon.

Запустите скрипт, набрав:

php testing.php

 

Результат должен выглядеть примерно так:

Текущее время: 2018-08-02 14:25:05

 

Позже, если вы хотите обновить свои пакеты PHP, вы можете просто запустить:

composer update

 

В приведенной выше команде будет проверяться более новые версии установленных пакетов, и если будет найдена более новая версия и ограничение версии совпадает с указанным в ней composer.json, Composer обновит пакет.

 

Вы узнали, как установить Composer на ваш компьютер Ubuntu 18.04. Мы также показали вам, как использовать Composer для создания базового PHP-проекта.

Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer.

Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.

 

Exit mobile version