首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apt安装gccgo-go不会在Docker映像中安装gccgo

apt安装gccgo-go不会在Docker映像中安装gccgo
EN

Ask Ubuntu用户
提问于 2021-05-07 23:27:42
回答 1查看 367关注 0票数 1

摘要

apt install gccgo-go不会在Docker映像构建中安装ggcgo,但是在从映像容器运行时会安装D3

详细信息

我有一个Ubuntu20.04Docker映像,我创建它是为了测试我编写的一些简单的Go应用程序。当我在构建映像时apt install golang-gogccgo-go包时,构建完成时不会出现错误。但是当我打开并附加到一个容器并尝试用go build -compiler gccgo构建我的Go应用程序时,我会发现一个错误,没有找到gccgo。当我尝试which gccgo时,它什么也不返回,即没有安装gccgo可执行文件。然后,当我从容器中运行apt install -y gccgo-go时,安装就完成了,我可以使用gccgo可执行文件成功构建和运行应用程序。

环境

我的项目是这里 on GitHub。Dockerfile是这里,Go源代码树启动这里。我在macOS 11.3.1上运行Desktop 3.3.1,并使用这个序列构建Ubuntu映像并附加到容器上:

  1. docker system prune -a
  2. docker compose build
  3. docker compose up -d
  4. docker compose exec ubuntu bash

其他笔记

在为这个问题收集数据时,我在构建Docker映像时意外地安装了包gccgo而不是ggcgo-go。这实际上是在我启动容器时在映像中安装了gccgo可执行文件。它甚至成功地“构建”了go/sieve,但是这是一个实用程序包,所以它只是验证包是可构建的。当我试图构建go/app2时,编译器失败了,因为它需要go v1.16 ( golang-go安装的go为1.13)。显然,golang-go只应该与'gccgo-go, not gccgo. also found a golangpackage but that is also v1.3, not the v1.6 thatgccgo‘要求配对。

Epilog

总之,apt install gccgo-go在映像构建中不工作,但在图像容器中工作。

我不知道这是不是问这个问题的合适地方,但它似乎是一个好的起点。谢谢你能帮我的忙。

EN

回答 1

Ask Ubuntu用户

发布于 2021-05-08 07:44:23

从打包的角度来看,/usr/bin/gccgo可执行文件只包含在gccgo 套餐中。

gccgo-go 套餐本身只包含/usr/bin/go 可执行文件,它依赖于gccgo-9 套餐哪个提供 /usr/bin/gccgo-9可执行文件。或者,golang-go提供是它自己的/usr/bin/go。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1336831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档