Установка Composer на Ubuntu

Введение

Это авторский перевод части статьи How To Install and Use Composer on Ubuntu 16.04. В этом руководстве рассказывается, как установить Composer в системе Ubuntu 16.04. Я устанавливал в подсистему ubuntu под Windows 10.

Composer - популярный инструмент управления зависимостями для PHP, созданный в основном для облегчения установки и обновления зависимостей проекта. Он проверять пакеты необходимы конкретному проекту и установливает их для вас, используя соответствующие версии указанные в требованиях проекта.

Установка зависимостей

Прежде чем мы загрузим и устанавим Composer, следуем убедиться, что на нашем сервере установлены все зависимости. Во-первых, следует обновить кэш менеджера пакетов. Заходим в bash и выполяем команду:

sudo apt-get update

Во-вторых, установим зависимости:

  • curl для загрузики Composer;
  • php-cli для установки и запуска Composer;
  • php-mbstring для работы с многобайтовыми строками;
  • git используется Composer для загрузки зависимостей проекта;
  • unzip для извлечения заархивированных пакетов.

Все пакеты установливаются с помощью следующей команды:

sudo apt-get install curl php-cli php-mbstring git unzip

Загрузка и установка Composer'a

Composer предоставляет установщик, написанный на PHP. Убедитесь, что вы находитесь в своем домашнем каталоге и скачайте установщик, используя curl:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php

Затем запустите PHP-скрипт из командной строки, чтобы убедиться, что установщик соответствует хэшу SHA-384 для последнего установщика, найденного на странице «Composer Public Keys / Signatures».

  • Заходите на страницу Composer Public Keys / Signatures.
  • После заголовка Installer Signature (SHA-384) копируете хэш, вида 669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410.
  • Заменяете его в следующем коде и выполняете.
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Если хэш совпал, то на выводе получите:

Installer verified

Установливем composer глобально, используя следующую команду:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Она устанавливает Composer в виде общесистемной команды composer в директории /usr/local/bin. Результат должен выглядеть следующим образом:

Output
All settings correct for using Composer
Downloading 1.6.2...

Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Чтобы протестировать установку composer, запустите:

composer

И вы должны получить аналогичный результат:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.6.2 2018-01-05 15:28:41

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Это означает, что Composer был успешно установлен в вашей системе. Если вы получаете сообщение вида:

Cannot create cache directory .composer/cache/files/, or directory is not writable. Proceeding without cache

То выполните команду:

sudo chown -R $USER $HOME/.composer

Похожие записи

Кратко о внедрение зависимостей и сервис контейнере

Cтатья о том, что такое "Внедрение зависимостей" и "Сервис-контейнер" отталкиваясь от их реализации в PHP фреймворках. Статья написана по мотивам статей Фабьена Потенсье, ведущиго разработчика и идеолога фреймворка Symfony, а также документации фреймворка Laravel.