AlpineDocker镜像中安装Go,提示“ not found”


AlpineDocker镜像中安装Go,执行go version提示:

sh: go: not found

已经正确的从golang官网下载源文件并安装,环境变量也已经设置好。

使用ldd命令查看所依赖的共享库列表

/usr/local/go/bin # ldd go
    /lib64/ld-linux-x86-64.so.2 (0x7f891a570000)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f891a570000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f891a570000)
/usr/local/go/bin # ls /lib64
ls: /lib64: No such file or directory

由于alpine镜像使用的是musl libc而不是gnu libc,/lib64/ 是不存在的。但他们是兼容的,可以创建个软连接过去试试。

/usr/local/go/bin # mkdir /lib64
/usr/local/go/bin # ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
/usr/local/go/bin # go version
go version go1.19.3 linux/amd64

声明:初心|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - AlpineDocker镜像中安装Go,提示“ not found”


愿你勿忘初心,并从一而终