如何使 golang 的 golang 版本和我的 Dockerfile 保持同步?
How can I keep golang's golang version and my Dockerfile in sync?
我是 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 中的那个。
如果你去Goland > Preferences > Go > Go Root,你会发现Goland正在使用的版本,这将对应于你的版本External Libraries Section
。
在这种情况下,您可能需要更新系统安装的 go 版本以匹配 dockerfile 中的版本。
同样值得注意的是,在开发时,Goland 将允许您选择使用哪个版本的 Go 来构建您的项目。在上面提到的相同设置中,您会在 Go 子菜单下看到一个标题 For Current Project
。如果你安装了多个 Go 版本,你可以 select sdk 并让 Goland 处理构建。
我是 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 中的那个。
如果你去Goland > Preferences > Go > Go Root,你会发现Goland正在使用的版本,这将对应于你的版本External Libraries Section
。
在这种情况下,您可能需要更新系统安装的 go 版本以匹配 dockerfile 中的版本。
同样值得注意的是,在开发时,Goland 将允许您选择使用哪个版本的 Go 来构建您的项目。在上面提到的相同设置中,您会在 Go 子菜单下看到一个标题 For Current Project
。如果你安装了多个 Go 版本,你可以 select sdk 并让 Goland 处理构建。