如何保持golang的golang版本和我的Dockerfile同步?

问题描述 投票:0回答:1

我是goland的新手,试图在我的第一个项目中捡到它。我在goland注意到它没有显示通过容器引入的相同golang SDK。

这是我的Dockerfile:

FROM golang:1.12-alpine
RUN mkdir /app
WORKDIR /app
ADD src/ /app

ENV CGO_ENABLED=0
ENV GO111MODULE=off

# Fetch application dependencies
RUN apk add --no-cache --update git \
    && go get github.com/bwmarrin/discordgo \
    && go get github.com/jonas747/dshardmanager \
    && go get github.com/bugsnag/bugsnag-go \
    && apk del git

# Build binary
RUN go build -o main .

CMD ["/app/main"]

但在goland你可以看到它没有显示正确的版本。有没有办法我可以设置它,以便goland总能看到容器中使用的版本?

enter image description here

go goland
1个回答
2
投票

Goland使用您的Systems Go SDK,而不是Dockerfile中的SDK。

如果你去Goland> Preferences> Go> Go Root,你会发现Goland正在使用的版本,它将与你在External Libraries Section中的版本相对应。

在这种情况下,您可能需要更新系统安装的go版本以匹配dockerfile中的版本。

值得注意的是,在开发过程中,Goland将允许您选择使用哪个版本的Go来构建项目。在上面提到的相同设置中,您将在Go子菜单下看到标题For Current Project。如果您安装了多个版本的Go,则可以选择sdk并让Goland处理构建。

© www.soinside.com 2019 - 2024. All rights reserved.