[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud Functions](../../index.md) > [Разработка на Go](index.md) > Управление зависимостями

# Сборка и управление зависимостями функции на Go

Сервис Cloud Functions на этапе сборки автоматически устанавливает зависимости, необходимые для работы функции на Go, во время создания новой [версии функции](../../operations/function/version-manage.md).

{% note info %}

Для сборки устанавливается build tag `ycf`.

{% endnote %}

Для этого Cloud Functions поддерживает два способа автоматического управления зависимостями - модули и утилита `dep`.

### mod

[Модули](https://github.com/golang/go/wiki/Modules) — встроенный механизм управления зависимостями для языка `Go`. Они являются основным и рекомендуемым способом управления зависимостями в сервисе Cloud Functions.

Для поставки зависимостей при помощи модулей следует загрузить файл `go.mod` вместе с исходным кодом функции. При этом установятся последние версии указанных в этом файле пакетов, для явного указания версий следует также загрузить файл `go.sum`.

{% note warning %}

Название модуля в файле `go.mod` не должно быть `main`.

В файле `go.mod` не должна быть указана версия языка `Go`, поскольку версия `Go` в сгенерированном [сборщиком](../../concepts/builder.md) плагине должна в точности соответствовать версии `Go`, используемой в [среде выполнения](../../concepts/runtime/index.md).

{% endnote %}

### dep

{% note warning %}

Данный способ управления зависимостями устарел и не поддерживается для версии языка 1.16.

{% endnote %}

[Dep](https://golang.github.io/dep/docs/introduction.html) — система управления зависимостями для языка `Go`.

Для поставки зависимостей при помощи утилиты `dep` следует загрузить файлы `Gopkg.toml` и `Gopkg.lock` вместе с исходным кодом функции. В этом случае непосредственно перед сборкой кода вызовется команда `dep ensure`.
  
{% note info %}

Если среди файлов присутствует одновременно и `go.mod`, и `Gopkg.toml`, то работоспособность сборщика не гарантируется. **Не рекомендуется** использовать эти два файла одновременно.

{% endnote %}

Процесс установки зависимостей имеет ограничения по ресурсам и времени исполнения. Подробнее об этом читайте в разделе [Квоты и лимиты в Cloud Functions](../../concepts/limits.md). Ознакомиться с журналом установки зависимостей можно по ссылке, которая отображается в списке операций.