创建 codespaces
无法访问以创建 codespace
GitHub Codespaces 并非适用于所有仓库。如果未显示创建 codespace 的选项,则 GitHub Codespaces 可能不适用于该仓库。
如果您在个人帐户上还有剩余的 GitHub Codespaces 月度包含使用量,或者您已设置了付款方式和支出限额,则可以为任何公共仓库创建 codespace。
您还可以为任何您至少具有读取权限的私有仓库创建 codespace,前提是该私有仓库由个人帐户拥有。如果仓库是私有的,并且由组织拥有,则您可能能够或可能无法为该仓库创建 codespace,具体取决于组织或其父级企业的设置。
如果您无法为存储库创建 Codespace,这可能是由于以下组织或企业设置之一。
- 组织和企业所有者可以选择哪些用户可以访问组织私有存储库中的 GitHub Codespaces。有关更多信息,请参阅“为您的组织启用或禁用 GitHub Codespaces”。
- 组织和企业所有者可以为组织的某些或所有私有存储库禁用分叉。如果您只有对存储库的读取权限,并且无法分叉它,那么您无法为该存储库创建 Codespace。有关更多信息,请参阅“管理您的组织的分叉策略”。
有关可能影响您是否可以创建 Codespace 的其他组织和企业设置的信息,请参阅“为您的组织启用或禁用 GitHub Codespaces”。
有关个人帐户的包含使用情况以及设置支出限额的更多信息,请参阅“关于 GitHub Codespaces 的计费”和“管理 GitHub Codespaces 的支出限额”。
创建后 Codespace 不会打开
如果您创建了一个 Codespace 但它没有打开
- 尝试重新加载页面,以防出现缓存或报告问题。
- 转到您的 GitHub Codespaces 页面:https://github.com/codespaces 并检查新 Codespace 是否列在那里。该过程可能已成功创建 Codespace,但未能向您的浏览器报告。如果列出了新的 Codespace,您可以直接从该页面打开它。
- 重新创建仓库的 codespace 以排除瞬时通信故障。
如果您仍然无法为启用了 GitHub Codespaces 的仓库创建 codespace,则可能需要联系支持。有关更多信息,请参阅“与 GitHub Codespaces 支持人员合作”。
Codespace 创建失败
如果 codespace 创建失败,很可能是由于云中的临时基础设施问题造成的 - 例如,为 codespace 配置虚拟机时出现问题。失败的另一个不太常见的原因是,如果构建容器的时间超过一小时。在这种情况下,构建将被取消,codespace 创建将失败。
注意:未成功创建的 codespace 将永远无法使用,应将其删除。有关更多信息,请参阅“删除 codespace”。
如果您创建了 codespace 但创建失败
-
检查 GitHub 的 状态页面,查看是否有任何活动事件。
-
转到 您的 GitHub Codespaces 页面,删除 codespace,然后创建一个新的 codespace。
-
如果容器正在构建,请查看正在流式传输的日志,并确保构建没有卡住。构建时间超过一小时的容器将被取消,导致创建失败。
这种情况发生的一种常见情况是,如果您运行的脚本正在提示用户输入并等待答案。如果是这种情况,请删除交互式提示,以便构建可以非交互式地完成。
注意:要查看构建期间的日志
-
在浏览器中,如果构建过程的初始步骤花费的时间超过几秒钟,则会显示“设置您的 codespace”页面。单击查看日志。
-
在 VS Code 桌面应用程序中,单击显示的“设置远程连接”弹出消息中的构建 codespace。
日志消息将打印到 VS Code 中的终端
-
-
如果您有一个构建时间很长的容器,请考虑使用预构建来加快 codespace 创建速度。有关更多信息,请参阅“配置预构建”。
删除代码空间
代码空间只能由以下人员删除:
- 创建代码空间的人。
- 组织拥有代码空间的组织所有者。
- 在保留期结束时自动删除。
有关更多信息,请参阅“删除代码空间”和“配置代码空间的自动删除”。
容器存储
创建代码空间时,它具有有限的存储空间,随着时间的推移,您可能需要释放空间。尝试在 GitHub Codespaces 终端中运行以下任何命令来释放存储空间。
- 使用
sudo apt autoremove
删除不再使用的软件包。 - 使用
sudo apt clean
清理 apt 缓存。 - 使用
sudo find / -printf '%s %p\n'| sort -nr | head -10
查看代码空间中最大的 10 个文件。 - 删除不需要的文件,例如构建工件和日志。
一些更具破坏性的选项
- 使用
docker system prune
删除未使用的 Docker 镜像、网络和容器(如果您想删除所有镜像,请附加-a
,如果您想删除所有卷,请附加--volumes
)。 - 从工作树中删除未跟踪的文件:
git clean -i
。
配置
如果对开发容器配置的更改导致容器错误,您的代码空间将在恢复模式下运行,您将看到错误消息。
This codespace is currently running in recovery mode due to a container error.
查看创建日志并根据需要更新开发容器配置。有关更多信息,请参阅“GitHub Codespaces 日志”。
然后,您可以尝试重新启动代码空间或重建容器。有关重建容器的更多信息,请参阅“开发容器简介”。