# Совместимость версий

dbt v2, его языковой сервер (LSP) и расширение dbt для VS Code работают совместно, обеспечивая локальную разработку. На этой странице объясняется, как соотносятся их версии, какие сочетания совместимы и как проверить, что установленные исполняемые файлы соответствуют друг другу.

## Как устроено версионирование

dbt v2 поставляется в виде единого исполняемого файла, который предоставляет как интерфейс командной строки (CLI), так и языковой сервер (LSP). Поскольку CLI и LSP используют *один и тот же* исполняемый файл, их версии всегда совпадают и не могут различаться.

Расширение dbt для VS Code имеет собственную версию релиза, поскольку следует циклу выпуска в VS Code Marketplace. Чтобы явно обозначить совместимость, каждый релиз расширения указывает диапазон поддерживаемых версий dbt v2. При запуске LSP расширение проверяет, входит ли установленная версия dbt v2 в этот диапазон, и в случае несоответствия выводит [ошибку с указаниями по устранению](#troubleshooting-version-issues).

| Компонент                           | Пример версионирования                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------- |
| Исполняемый файл dbt v2 (CLI + LSP) | `2.0.0`                                                                       |
| Расширение dbt для VS Code          | Версия расширения (например, `0.36.0`) с диапазоном совместимых версий dbt v2 |

## Матрица совместимости

В следующей таблице каждой версии расширения dbt для VS Code сопоставлены поддерживаемые версии dbt. Если вы позволяете расширению скачивать dbt v2 и управлять им, оно всегда автоматически устанавливает совместимую версию — эта таблица нужна только в том случае, если вы устанавливаете исполняемые файлы или фиксируете их версии вручную.

| Расширение dbt для VS Code | Минимальная версия dbt v2 | Максимальная версия dbt v2 | Контрольные суммы    | Примечания |
| -------------------------- | ------------------------- | -------------------------- | -------------------- | ---------- |
| 0.36.x                     | 2.0.0-preview\.90         | —                          | `checksums-0.36.txt` | Текущая    |
| 0.35.x                     | 2.0.0-preview\.80         | 2.0.0-preview\.89          | `checksums-0.35.txt` | -          |

Прочерк (-) в столбце **Максимальная версия** означает, что верхняя граница пока не задана. Поддерживается любой релиз dbt v2 с версией не ниже минимальной.

## Проверка установленных версий

Чтобы убедиться, что ваша конфигурация находится в пределах поддерживаемого диапазона, проверьте установленную версию dbt v2:

```shell
dbt --version
```

Чтобы получить сводку в машиночитаемом формате, которую можно вставить в отчёт об ошибке или обработать с помощью инструментов, добавьте флаг `--format json`:

```shell
dbt --version --format json
```

Подробное описание полного вывода см. в разделе [О команде dbt --version](https://docs.getdbt.tech/reference/commands/version.md).

## Проверка исполняемых файлов при ручной установке и установке в изолированной среде

Если вы устанавливаете dbt v2 вручную в изолированной среде или в среде с ограничениями межсетевого экрана, где расширение не может скачивать исполняемые файлы за вас, используйте [матрицу совместимости](#compatibility-matrix), чтобы выбрать версию, соответствующую вашему расширению dbt для VS Code, а затем проверьте скачанный файл перед его распространением.

1. Найдите в матрице совместимости диапазон версий dbt v2 для вашей версии расширения.

2. Скачайте соответствующий исполняемый файл dbt v2 и файл с его контрольной суммой.

3. Проверьте контрольную сумму перед установкой или распространением исполняемого файла:

   ### Mac / Linux

   ```shell
   shasum -a 256 -c checksums-0.36.txt
   ```

   ### Windows (PowerShell)

   ```powershell
   Get-FileHash .\dbt.exe -Algorithm SHA256
   ```

   Сравните выведенный хеш со значением в файле контрольных сумм.

4. Укажите расширению dbt для VS Code путь к проверенному исполняемому файлу с помощью настройки `dbt.fusionPath`. См. раздел [Настройки расширения dbt](https://docs.getdbt.tech/docs/configure-dbt-extension.md#dbt-extension-settings).

Требования к сети и прокси-серверу, а также инструкции по предварительной подготовке комплекта для автономной установки см. в разделе [Сетевые требования](https://docs.getdbt.tech/docs/local/dbt-networking-requirements.md#restricted-network-installation).

## Релизы с известными проблемами

Если после выпуска релиза dbt v2 в нём обнаруживается регрессия, dbt Labs помечает его как релиз с известными проблемами. Если у вас установлена такая версия, расширение dbt для VS Code показывает предупреждение с указанием версии, до которой следует обновиться, даже если установленная версия входит в поддерживаемый диапазон.

Пользователи изолированных сред без исходящего доступа к сети могут распространять манифест релизов с известными проблемами вместе с комплектом исполняемых файлов и указать расширению путь к локальной копии с помощью настройки `dbt.badReleasesManifestPath`. См. раздел [Настройки расширения dbt](https://docs.getdbt.tech/docs/configure-dbt-extension.md#dbt-extension-settings).

## Устранение проблем с версиями

Если расширение не может найти, запустить или проверить совместимый исполняемый файл dbt v2, оно выводит ошибку с указаниями по устранению и ссылкой или кнопкой для её исправления. Полный список сообщений и способов устранения см. в разделе [Устранение неполадок расширения dbt для VS Code](https://docs.getdbt.tech/docs/sign-in-dbt-extension.md#troubleshooting).
