Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

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

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

Создание codespace

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

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

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

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

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

  • Если вы использовали включаемое ежемесячное использование GitHub Codespaces и не настроили метод оплаты и предельную сумму расходов, вы можете создавать только codespace, которые принадлежат и оплачиваются организацией.
  • Владельцы организации и предприятия могут отключить вилку для некоторых или всех частных и внутренних репозиториев . Если у вас есть доступ только на чтение к репозиторию и вы не можете создать вилку, вы не сможете создать codespace для этого репозитория. Дополнительные сведения см. в разделе Управление политикой ветвления для вашей организации.
  • Если у вас есть управляемая учетная запись пользователя, вы не можете создавать codespace для личных репозиториев, если только репозиторий не является вилкой репозитория, принадлежащего организации, и вы можете использовать GitHub Codespaces за счет организации. Дополнительные сведения см. в разделе Сведения о Enterprise Managed Users.

Дополнительные сведения о параметрах организации и предприятия, которые могут повлиять на возможность создания codespace, см. в разделе Включение GitHub Codespaces для организации.

Дополнительные сведения о включенном использовании личных учетных записей и настройке предельной суммы расходов см. в разделах Сведения о выставлении счетов для GitHub Codespaces и Управление предельной суммой расходов для GitHub Codespaces.

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

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

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

Если по-прежнему не удается создать пространство кода для репозитория, в котором доступна GitHub Codespaces, Возможно, будет необходимо обратиться в службу поддержки. Дополнительные сведения см. в разделе Работа со службой поддержки для GitHub Codespaces.

Сбой при создании Codespace

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

Примечание: Пространство кода, которое не было создано, никогда не будет использоваться и должно быть удалено. Дополнительные сведения см. в разделе Удаление codespace.

Если вы создаете codespace и создание завершается сбоем:

  1. Проверьте страницу состояния GitHub на наличие активных инцидентов.

  2. Перейдите на страницу GitHub Codespaces, удалите codespace и создайте новое пространство кода.

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

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

    Примечание. Чтобы просмотреть журналы во время сборки, выполните следующие действия.

    • В браузере, если начальные шаги процесса сборки занимают более нескольких секунд, отображается страница "Настройка codespace". Щелкните Просмотреть журналы.

      Снимок экрана: страница "Настройка codespace" в браузере. Ссылка "Просмотр журналов" выделена темно-оранжевым контуром.

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

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

      Сообщения журнала печатаются в терминале в VS Code

  4. Если у вас есть контейнер, сборка которых занимает много времени, рассмотрите возможность использования предварительных сборок для ускорения создания codespace. Дополнительные сведения см. в разделе Настройка предварительных сборок.

Удаление codespace

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

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

Дополнительные сведения см. в разделах Удаление codespace и Настройка автоматического удаления codespace.

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

При создании 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 запустится в режиме восстановления и появится сообщение об ошибке.

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

Просмотрите журналы создания и при необходимости обновите конфигурацию контейнера разработки. Дополнительные сведения см. в разделе Журналы GitHub Codespaces.

Затем можно попробовать перезапустить codespace или перестроить контейнер. Дополнительные сведения о перестроении контейнера см. в разделе Основные сведения о контейнерах разработки.