Docker容器中Delve无法安装的问题排查求助
解决Docker容器中Delve安装后命令找不到的问题
问题原因
你的容器环境里设置了GOFLAGS=-mod=vendor,在Go模块的vendor模式下,go get只会把依赖包下载到项目的vendor目录,不会将编译好的dlv二进制文件安装到GOPATH/bin目录,这就是执行dlv命令提示找不到的核心原因。
解决方法
手动安装(容器内执行)
临时覆盖GOFLAGS参数,用Go 1.16+推荐的go install命令安装:
GOFLAGS="" go install github.com/go-delve/delve/cmd/dlv@latest
修改Dockerfile安装指令
在Dockerfile里直接指定不使用vendor模式:
RUN GOFLAGS="" go install github.com/go-delve/delve/cmd/dlv@latest
或者临时取消GOFLAGS环境变量后安装:
RUN unset GOFLAGS && go install github.com/go-delve/delve/cmd/dlv@latest
验证安装结果
安装完成后,检查/go/bin目录是否存在dlv二进制:
ls -la /go/bin/dlv
如果能看到该文件,说明安装成功,此时执行dlv命令即可正常使用。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

