我最近试用了Gitpod,这似乎是一个很酷的工具。
出于测试目的,我打开了一些使用 Boost(以及其他库)的 C++ GitHub 存储库。不幸的是,Docker 镜像中似乎没有安装 Boost,所以我的代码无法编译。
我知道创建自己的 Docker 映像的可能性,但我想知道是否还有其他更简单的选择。Gitpod 是否提供任何类似环境模块的选项来动态加载/卸载某些“常用”库,还是在这种情况下我总是必须提供自己的 Docker 实例?
我在 Gitpod 上工作。谢谢你的尝试和赞美:)
我们不想为 Gitpod 再发明一个模块系统。
相反,我们决定支持 Dockerfiles 并按需构建它们,因为 Dockerfiles 允许使用所有已经存在的令人惊叹的模块系统:Debian 的包、Alpine 的包、节点版本管理器 (NVM)、Ruby 版本管理器 (RVM)、SDKman等。基本上任何与 Linux 兼容的包管理器都可以简化为wget
.
你也可以使用自己的 Docker 镜像,但我发现 Dockerfiles 更方便,因为你可以将它们检入 git,从而将它们与源代码一起进行版本控制。它是开发环境即代码,应该在整个团队中共享。此外,您无需费心构建并将它们推送到注册表(例如 hub.docker.com)。
然而,Gitpod 提供的是一系列 Docker 镜像(src)。最突出的是gitpod/workspace-full,它是 Gitpod 的默认镜像。
回到您关于将正确模块放入 Gitpod 开发环境的最简单方法的问题:
RUN apt-get update && apt-get install -y libboost-all-dev
Dockerfile 就足够了。这是安装包的 APT libboost-all-dev
。