# Устранение неполадок при создании и удалении codespace

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

## Создание codespace

### Нет доступа для создания codespace

GitHub Codespaces недоступно для всех репозиториев. Если параметры создания пространства кода не отображаются, GitHub Codespaces может быть недоступно для этого репозитория.

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

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

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

* Владельцы организации и предприятия могут выбирать, к каким пользователям можно получить доступ GitHub Codespaces в частных  репозиториях организации. Дополнительные сведения см. в разделе [Включение или отключение GitHub Codespaces для вашей организации](/ru/codespaces/managing-codespaces-for-your-organization/enabling-or-disabling-github-codespaces-for-your-organization).
* Владельцы организации и предприятия могут отключить вилку для некоторых или всех частных репозиториев организации. Если у вас есть только доступ на чтение к репозиторию, и вы не можете его закрепить, то нельзя создать пространство кода для этого репозитория. Для получения дополнительной информации см. [Управление политикой ветвления для вашей организации](/ru/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization).

Сведения о других параметрах организации и предприятия, которые могут повлиять на возможность создания пространства кода, см. в разделе [Включение или отключение GitHub Codespaces для вашей организации](/ru/codespaces/managing-codespaces-for-your-organization/enabling-or-disabling-github-codespaces-for-your-organization).

Дополнительные сведения об использовании личная учетная запись и настройке ограничения расходов см. в разделе \[AUTOTITLE и [Биллинг GitHub Codespaces](/ru/billing/concepts/product-billing/github-codespaces)]\(/billing/how-tos/set-up-budgets).

### Codespace не открывается при создании

Если вы создаете codespace, а он не открывается:

1. Попробуйте перезагрузить страницу, если возникла проблема с кэшированием или отчетами.
2. Перейдите на GitHub Codespaces страницу: <https://github.com/codespaces> и проверьте, отображается ли новое пространство кода. Возможно, процесс успешно создал codespace, но не смог отправить отчет в ваш браузер. Если новый codespace указан в списке, его можно открыть непосредственно с этой страницы.
3. Повторите попытку создания codespace для репозитория, чтобы исключить временный сбой связи.

Если вы по-прежнему не можете создать пространство кода для репозитория, где GitHub Codespaces доступно, Возможно, будет необходимо обратиться в службу поддержки. Дополнительные сведения см. в разделе [Работа с поддержкой GitHub Codespaces](/ru/codespaces/troubleshooting/working-with-support-for-github-codespaces).

### Сбой создания пространства кода

Если создание пространства кода завершается сбоем, скорее всего, возникнет проблема с временной инфраструктурой в облаке, например, проблема с подготовкой виртуальной машины для пространства кода. Менее распространенная причина сбоя заключается в том, что для сборки контейнера требуется больше часа. В этом случае сборка отменена, а создание пространства кода завершится ошибкой.

> \[!NOTE]
> Пространство кода, которое не было успешно создано, никогда не будет использоваться и должно быть удалено. Дополнительные сведения см. в разделе [Удаление codespace](/ru/codespaces/developing-in-a-codespace/deleting-a-codespace).

Если вы создаете пространство кода и создание завершается ошибкой:

1. Проверьте GitHub[страницу «Статус](https://githubstatus.com)» на предмет активных инцидентов.
2. Перейдите на [GitHub Codespaces страницу](https://github.com/codespaces), удалите пространство кода и создайте новое пространство кода.
3. Если контейнер создается, просмотрите журналы потоковой передачи и убедитесь, что сборка не застряла. Сборка контейнера, которая занимает более одного часа, будет отменена, что приведет к сбою создания.

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

> \[!NOTE]
> Чтобы просмотреть журналы во время сборки, выполните следующие действия.
> \*
> **В браузере**, если начальные шаги процесса сборки занимают более нескольких секунд, отображается страница "Настройка пространства кода". Щелкните **Просмотреть журналы.**
>
> ![Снимок экрана: страница "Настройка пространства кода" в браузере. Ссылка "Просмотр журналов" выделена темно-оранжевым контуром.](/assets/images/help/codespaces/web-ui-view-logs.png)
>
> *

**В классическом VS Code приложении** щелкните **"Создание пространства кода** " во всплывающем сообщении "Настройка удаленного подключения", которое отображается.

> ![Снимок экрана: всплывающее сообщение в VS Code, чтение "Настройка удаленного подключения: создание пространства кода".](/assets/images/help/codespaces/vs-code-building-codespace.png)
>
> Сообщения журнала печатаются в терминале VS Code

1. Если у вас есть контейнер, который занимает много времени для сборки, рассмотрите возможность использования предварительной сборки для ускорения создания пространства кода. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/ru/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds).

## Удаление codespace

Пространство кода можно удалить только следующим образом:

* Пользователь, создавший пространство кода
* Владелец организации для пространства кода, принадлежащей организации
* Автоматическое удаление в конце срока хранения

Дополнительные сведения см. в разделе \[AUTOTITLE и [Удаление codespace](/ru/codespaces/developing-in-a-codespace/deleting-a-codespace)]\(/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces).

## Хранилище контейнеров

При создании codespace он имеет ограниченный объем хранилища, и со временем может потребоваться освободить место. Попробуйте выполнить любую из следующих команд в терминале GitHub Codespaces , чтобы освободить место в хранилище.

* Удалите пакеты, которые больше не используются, с помощью `sudo apt autoremove`.
* Очистите кэш apt с помощью `sudo apt clean`.
* Просмотрите 10 самых больших файлов в codespace с помощью `sudo find / -printf '%s %p\n'| sort -nr | head -10`.
* Удалите ненужные файлы, такие как артефакты сборки и журналы.

Некоторые более разрушительные варианты:

* Удалите неиспользуемые образы Docker, сети и контейнеры с помощью `docker system prune` (добавьте `-a`, чтобы удалить все образы, и `--volumes`, если хотите удалить все тома).
* Удалите неотслеживаемые файлы из рабочего дерева: `git clean -i`.

## Настройка

Если изменения в конфигурации контейнера разработки приводят к ошибке контейнера, codespace запустится в режиме восстановления и появится сообщение об ошибке.

```shell
This codespace is currently running in recovery mode due to a container error.
```

Просмотрите журналы создания и обновите конфигурацию контейнера разработки по мере необходимости. Дополнительные сведения см. в разделе [Логи кодовых пространств GitHub](/ru/codespaces/troubleshooting/github-codespaces-logs).

Затем можно попробовать перезапустить пространство кода или перестроить контейнер. Дополнительные сведения о перестроении контейнера см. в разделе [Основные сведения о контейнерах разработки](/ru/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace).