问题标签 [github-codespaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
263 浏览

docker - GitHub Codespaces:如何设置 x86_64、AMD64、ARM64 平台?

首先,问题是:有没有办法为 GitHub 代码空间选择平台(例如 x86_64、AMD64、ARM64)?

这是我到目前为止发现的:

尝试1(不工作):

在 GitHub.com 中,您可以为代码空间选择“机器”,但唯一的选项是 RAM 和磁盘大小。

尝试2(编辑:不工作): devcontainer.json

.devcontainer创建 Codespace 时,您可以通过创建包含两个文件的顶级文件夹来指定选项:devcontainer.jsonDockerfile

在这里您可以自定义运行时、已安装的包等,但文档没有说明有关确定架构的任何内容...

...但是,VSCode 文档devcontainer.json有一个runArgs选项,“接受 Docker CLI 参数”...

和 --platform 上的 Docker CLI 文档说你应该能够通过--platform linux/amd64or --platform linux/arm64,但是......

当我尝试这个时,代码空间会挂起,永远不会完成构建。

尝试 3(进行中):指定Dockerfile

这条路线似乎最有前途,但对我来说都是新的(容器化、代码空间、docker)。尝试 2 和 3 可能会相互配合。不过,在这一点上,有太多新的移动部件,我需要外部帮助。

  1. GitHub Codespaces 是否支持此功能?
  2. 你会在 Dockerfile 或 devcontainer.json 中传递它吗?如何?
  3. 无论如何,您将如何验证这一点?[已解决:dpkg --print-architectureuname -a]
  4. 对于 Windows,您可能需要许可证(我在 GitHub 上没有看到任何关于预许可代码空间的信息)——但这可能超出了问题的范围。

参考资料:
https://code.visualstudio.com/docs/remote/devcontainerjson-reference
https://docs.docker.com/engine/reference/commandline/run/
https://docs.docker.com/engine/reference /builder/
https://docs.docker.com/desktop/multi-arch/
https://docs.docker.com/buildx/working-with-buildx/

0 投票
1 回答
52 浏览

github - 在 Github 代码空间上使用 Graphql 服务器设置 PRN 堆栈

我在本地机器(相同的仓库)上有一个工作的 PRN 应用程序,并尝试在 Github Codespaces 上进行测试。

在 Github Codespace 上启动 GraphQL 服务器时,我在使用 Postman 在线测试时遇到错误Error: Exceeded maxRedirects. Probably stuck in a redirect loop

邮递员错误

我假设我有基于其他 ppl 项目的三个选项:

  1. 设置 Docker 环境
  2. 解决 CORS 或代理设置
  3. 在一个 repo 上托管服务器,在另一个 repo 上托管前端(并且仍然解决 CORS 和代理问题)

理想情况下,我想在 Github Codespaces 中继续测试和开发。

什么是 Codespaces 开发的最佳选择,而当我准备部署时最简单的选择是什么?

0 投票
1 回答
441 浏览

mongodb - 如何使用 MongoDB Compass 连接到在 Github 代码空间中运行的 MongoDB?

我正在尝试 Github 代码空间,特别是“Node.js & Mongo DB”默认设置。

端口被转发,我的目标是连接本地机器上运行的 MongoDB Compass。

转发到的地址27017类似于https://<long-address>.githubpreview.dev/

我的尝试

我尝试使用以下连接字符串,但它在 MongoDB 指南针中不起作用。它失败了No addresses found at host。我实际上不确定如何确定 MongoDB 是否真的在 Github 代码空间中运行?

.devcontainer 文件


docker-compose.yml

还有一个devcontainer.json文件

最后是一个 Docker 文件:

更新 我也在 MongoDB 社区中发布,但没有帮助......

0 投票
0 回答
37 浏览

docker - Docker 映像中的命令在 Dockerfile RUN 语句中不起作用

编辑以提供 MRE:

重现的步骤(现在使用 Docker CLI 进行重现)

Dockerfile:

运行docker build产量/bin/sh: 1: cd: can't cd to /directory_to_cd_into

所以问题是cd——这意味着我必须遗漏一些关于容器目录结构的基本知识。

也试过WORKDIR

很高兴添加更多信息。


原来的:

在我的容器中,我可以使用 grade 成功构建,如下所示:

cd directory/with/gradlew && chmod +x gradlew && ./gradlew build

但是当我把它放在我的 Dockerfile 中并尝试构建容器时,它会因为“文件或目录 gradlew 不存在”而失败:

RUN cd directory/with/gradlew && chmod +x gradlew && ./gradlew build.

从这个问题,Unable to change directory while building docker Image using Dockerfile,我知道cd每条RUN语句都会重置——但我是在一个RUN.

RUN语句之前的所有内容都保持不变,即,如果我注释掉 RUN,并从图像中的命令行交互式构建,它构建得很好。

如果重要的话,我会在 GitHub 代码空间内完成所有这些工作;我没有直接使用 Docker CLI。

我究竟做错了什么?

--

编辑: 我必须尝试cd从构建上下文之外包含/目录。我不确定如何解决这个问题——也许用COPY?

0 投票
1 回答
39 浏览

visual-studio-code - GitHub Codespaces:无法在顶级目录中打开文件资源管理器

当您启动 Codespace 时,它​​会将您置于/workspaces/repoName终端和侧边栏文件资源管理器中。

从终端,您可以cd /进入顶级目录,并执行命令行操作。

但是文件资源管理器似乎无法导航过去的“向上”目录workspaces/repoName

从桌面 VSCode,您可以连接到 GitHub 代码空间并cd / && code .在顶级目录中打开一个新编辑器,但它很笨重并且会打开一个单独的编辑器。

有没有办法将 GUI 文件资源管理器设置为在顶级目录中打开?

0 投票
0 回答
20 浏览

github-codespaces - 如何从 iPad 上传到 GitHub Codespaces?

我正在尝试将一些照片文件从我的 iPad 相机胶卷上传到 GitHub Codespaces。

我知道这可以通过桌面上的拖放实现,但在 GitHub Codespaces 上也可以吗?

0 投票
1 回答
170 浏览

github - GitHub Codespaces 中的点文件(zsh 设置):无效

我正在尝试让 GitHub 代码空间识别我的点文件,以自动设置 zsh shell。

当我进入代码空间时,无论是在网络上还是从 VSCode 中,点文件都不起作用。也没有错误信息。

这是我所做的

  1. 在 GitHub 上创建了一个公共 dotfiles 存储库,其中包含.zshrcsetup.sh(内容如下)。通过 github.com 上的“添加文件”直接添加文件,然后复制/粘贴。

  2. 通过 github.com > settings > codespaces > use dotfiles = true (checkbox) 在 Codespaces 中启用自动运行点文件

  3. VSCode > 设置 > linux 默认 shell > zsh

安装程序.sh

.zshrc

0 投票
0 回答
19 浏览

github - 如何复制 GitHub Codespace 以用作开发模板?

我有一个安装了一堆开发工具的 Codespace。

我想将此代码空间用作模板,以便我可以从那里开始新项目。

我可以创建一个安装工具的 Dockerfile,然后从中构建一个新的代码空间。

但是有没有一种方法可以从现有的代码空间中创建一个新的代码空间?

0 投票
1 回答
74 浏览

ruby-on-rails - 如何在 Github 代码空间上设置开发环境来为 Rails 做出贡献?

看了Eileen 的演讲后,我对为 Rails 做贡献产生了兴趣。为了让事情变得更容易,我分叉了这个 repo,并在 Github Codespaces 中打开了它。运行后bundle install,我想运行一些测试,但我一直收到此错误:

我尝试更新捆绑器并降级问题中的 gem 以解决依赖问题。都没有奏效。有任何想法吗?

0 投票
0 回答
22 浏览

spring-boot - 带有 Microsoft Java 扩展包的 VS Code 不会更新 CSS (Java/Spring) 而 GitHub Codespaces 会

我正在开发一个 Java/Spring Boot 应用程序,并且像许多使用 Java 和 Spring Boot 创建的 Web 应用程序一样,它使用 Thymeleaf 和静态资源(CSS、JS 等)。这些资源存储在resources/static/**.

在 GitHub Codespaces 中查看 CSS 更改,我重新启动了 Spring 服务器,这没什么大不了的,但它的工作只是有点烦人。但是,如果我想使用本地计算机而不是 GitHub Codespaces,我会启动一个带有 Remote Containers Extension 的 VS Code Dev Container。当我更新 CSS 时,更新 CSS 的唯一方法是让我运行mvn cleanmvn install强制target/**重建文件夹。(是的,我已经清除了 Chrome 缓存,这不是缓存问题,我什至用 curl 进行了测试以防万一)

这会影响任何静态资源,包括 application.properties。Thymeleaf 模板也受此问题影响。MVN 的目标文件夹包含您应该再次复制的静态资源。由于某种原因,MVN 未检测到文件已更改。每当您更新 CSS 文件时,VS Code 是否会更新上次更新的时间戳?GitHub Codespaces 在大概 Linux 上使用 Docker,而我在 Windows 11 上使用 Dev Containers 运行 VS Code。

为了解决这个问题,我定义了一个application-dev.properties文件并更新.vscode/launch.json以附加"vmArgs": ["-Dspring.profiles.active=dev"]到我包含的开发人员属性中,该属性spring.resources.static-locations=file:src/main/resources/static/跳过目标目录并需要重建。事实上,它工作得更好,因为您不需要重新启动服务器target/**即可获得更新,这在 GitHub Codespaces 中工作正常,但新文件不会复制到target/**具有远程容器扩展名的 VS Code 中。有趣的是两者都只使用 Dev Containers,因此它应该在两个位置都可以工作,但不能。GitHub Codespaces 处于测试阶段,可能存在未记录的怪癖。

这里有没有人遇到过这个问题。这会被认为是一个错误吗?这是预期的行为,为什么?有一个更好的方法吗。在每次 CSS 更改后运行mvn install都是徒劳的,并且鉴于 GitHub Codespaces 中不需要它,我不明白为什么它在带有 Dev Containers 的 VS Code 中。我的解决方案解决了开发中的问题,但为什么在 VS Code 中需要它而不在 GitHub Codespaces 中?