首页  >  文章  >  后端开发  >  为什么在 Alpine Linux 上安装 Go 时出现“go: not found”错误?

为什么在 Alpine Linux 上安装 Go 时出现“go: not found”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-16 09:53:03863浏览

Why is

在 Alpine Linux 上安装 Go

由于与其他容器相比系统结构存在差异,在 Alpine Linux Docker 容器中安装 Go 可能具有挑战性Linux 发行版。一个常见问题是尝试运行命令时可能找不到下载的 Go 二进制文件。

问题:

如所提供的上下文中所述,用户遇到了问题在 Alpine Docker 镜像中安装 Go 并在运行“go version”命令时遇到错误“sh: go: not found”。安装 Go 的步骤包括下载 tar 文件、解压它以及修改 PATH 环境变量以包含 Go 二进制文件的位置。

解决方案:

建议该解决方案涉及使用多阶段构建从预构建的 Golang Docker 映像复制 Go 安装。以下是所提供解决方案的细分:

FROM XXX

COPY --from=golang:1.13-alpine /usr/local/go/ /usr/local/go/

ENV PATH="/usr/local/go/bin:${PATH}"

在此解决方案中:

  1. FROM XXX:指定第一个构建阶段的基础映像。该镜像可以是任何合适的 Alpine Linux 镜像。
  2. COPY --from=golang:1.13-alpine /usr/local/go/ /usr/local/go/:从官方 Golang Docker 复制 Go 安装image (golang:1.13-alpine) 到第一个构建阶段的镜像中。
  3. ENV PATH="/usr/local/go/bin:${PATH}":修改第二个构建阶段的 PATH 环境变量(生成的图像)​​以包含 Go 二进制文件的位置。

以上是为什么在 Alpine Linux 上安装 Go 时出现“go: not found”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn