我是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总能看到容器中使用的版本?
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处理构建。