[[install-composer]]
=== Использование Composer и Git для загрузки файлов

[role="summary"]
Как использовать инструмент Composer для управления файлами ядра
и добавлять модули и темы.

(((Инструмент Composer,использование для загрузки ядра)))
(((Инструмент Composer,использование для загрузки модулей)))
(((Инструмент Composer,использование для загрузки тем)))
(((Ядро,загрузка)))
(((Ядро,обновление)))
(((Загрузка,ядро)))
(((Загрузка,тема)))
(((Загрузка,модуль)))
(((Зависимости,управление)))
(((Модуль,загрузка)))
(((Модуль,обновление)))
(((Тема,загрузка)))
(((Тема,обновление)))
(((Дополнительная тема,загрузка)))
(((Дополнительная тема,обновление)))
(((Дополнительный модуль,загрузка)))
(((Дополнительный модуль,обновление)))
(((Обновление безопасности,применение)))

==== Цель

Использование Composer для загрузки и обновления файлов и зависимостей в ядре,
или в добавлении модулей или тем. Пропустите эту тему если вы не используете Composer.

==== Необходимые знания

<<install-tools>>

==== Требования к сайту

Если вы хотите использовать Composer, он должен быть установлен либо сервере вашей локальной разработки
или на живом сайте. Смотрите <<install-tools>>.

==== Шаги

Если вы не можете установить инструмент Composer на свой сервер, вы можете
следовать шагам в любом из разделов ниже на вашем локальном сервере, и затем
перенести все обновлённые или добавленные файлы на ваш сервер. Рекомендуемая
процедура состоит в том, чтобы сделать архив или zip-файл из новых и измененных директорий,
перенести архив на ваш живой сервер, удалить директории, которые были
изменены, и распаковать архив. Обязательно проверяйте наличие обновлений и дополнений
в следующих файлах, в корне вашей установки:

* _vendor_ directory
* _autoload.php_
* _composer.json_
* _composer.lock_

===== Использование Composer для загрузки ядра

Выполните следующие действия, если вы еще не загрузили или не установили ядро,
и вы хотите использовать Composer для загрузки ядра и
его внешних зависимостей:

. В командной строке перейдите на один уровень выше директории, где вы хотите
расположить ядро.

. Введите эту команду, где _mydir_ директория, где вы хотите создать:
+
----
composer create-project drupal-composer/drupal-project:8.x-dev mydir --no-interaction
----

. Последний выпуск ядра будет установлен в _mydir/web_
поддиректории; вы также получите некоторые дополнительные инструменты, такие как Drush и Drupal Console
в _mydir/vendor_ директории.

===== Преобразование ранее загруженного сайта в Composer

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

----
composer global require grasmash/composerize-drupal
composer composerize-drupal --composer-root=. --drupal-root=.
----

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

===== Использование Composer для загрузки модулей или тем

Выполните следующие действия, если вы уже используете Composer для управления ядром,
и вы хотите использовать Composer для добавления модуля или темы с
их зависимостями.

. Каждый раз, когда вы хотите добавить модуль или тему, определите
краткое название проекта. Это последняя часть URL страницы проекта;
например, модуль Geofield, в
https://www.drupal.org/project/geofield, имеет короткое название +geofield+.

. Чтобы загрузить модуль или тему, вместе с их внешними
зависимостями, введите следующую команду в корне вашего сайта (замещая
краткое название модуля или темы для +geofield+):
+
----
composer require drupal/geofield
----

===== Использование Composer для обновления ранее загруженных файлов

Выполните следующие действия, чтобы обновить файлы ядра,
модуля или темы, после того как начали управлять зависимостями через
Composer:

. Определите краткое название проекта, который вы хотите обновить. Для ядра
это _core_. Для модулей или тем, это последняя
часть URL страницы проекта; например, модуль Geofield, в
https://www.drupal.org/project/geofield, имеет короткое имя +geofield+.

. Если вы хотите обновить до последней стабильной версии, используйте следующие
команды, подставляя краткое название проекта для обновления
+geofield+:
+
----
composer update drupal/geofield --with-dependencies
----

. Если вам нужна конкретная версия, до номера какой версии вы
хотите обновиться. Например, для модуля версии 8.x-1.7, вы
будете вводить только 1.7, а для версии ядра 8.3.1, вы будете
вводить 8.3.1. Затем введите следующую команду в корне вашего сайта
(подставив короткое название проекта вместо +geofield+ и правильный
номер версии):
+
----
composer require drupal/geofield:1.7
----

==== Расширьте своё понимание

Вы можете узнать больше о командах Composer с помощью системы справки Composer.
Например, чтобы узнать больше о команде `create-project`, введите
`composer help create-project` в вашем командном окне.

// ==== Related concepts

==== Видео

// Video from Drupalize.Me.
video::https://www.youtube-nocookie.com/embed/v-WeFthdmD4[title="Using Composer and Git to Download Files"]

==== Additional resources

* https://www.drupal.org/docs/develop/using-composer/using-composer-to-manage-drupal-site-dependencies["Использование Composer для управления зависимостями сайта Drupal"]
* https://www.drupal.org/docs/8/update/update-core-via-composer["Обновление ядра через Composer"]
* https://github.com/grasmash/composerize-drupal[Проект Composerize Drupal для преобразования ранее загруженного сайта в Composer]

*Авторы*

Адаптировано https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon],
https://www.drupal.org/u/hansfn[Hans Fredrik Nordhaug], и
https://www.drupal.org/u/eojthebrave[Joe Shindelar] в
https://drupalize.me[Drupalize.Me] от
https://www.drupal.org/docs/develop/using-composer/using-composer-to-manage-drupal-site-dependencies["Using Composer to manage Drupal site dependencies"],
copyright 2000-2017 отдельных авторов
https://www.drupal.org/documentation[Drupal Community Documentation].

Переведено https://www.drupal.org/u/MishaIsmajlov[Михаил Исмайлов].
