【问题标题】:Trying to install dependencies using dep in docker尝试在 docker 中使用 dep 安装依赖项
【发布时间】:2019-03-05 19:46:11
【问题描述】:

我创建了一个 docker 文件,我在其中安装了 golang dep 工具,该工具将用于安装 golang 项目所需的依赖项。我已经能够安装该工具。但无法使用该工具安装依赖项。我不确定如何配置 dep 工具以便能够在 docker 映像中运行 dep 命令,这将安装 golang 项目所需的所有依赖项

我正在使用下面的命令来运行 dep 工具,它可以在本地机器上运行

# initialize the project and install dependencies
RUN dep init

我总是收到错误:

init 失败:无法确定根项目的导入路径 /go: /go 不在任何 GOPATH/src 中

现在我不知道是否需要设置二进制文件的路径或如何实现。有构建 docker 文件以构建 golang 项目的教程,但互联网上没有使用 golang dep 工具安装依赖项的教程。

【问题讨论】:

    标签: docker go dependencies dockerfile


    【解决方案1】:

    您需要将目录更改为项目的目录。此外,为了获得依赖关系,您通常已经拥有 Gopkg.tomlGopkg.lock - dep init 仅在您从使用另一个供应商工具的项目中迁移时使用,根本没有供应商或您重新开始一个项目。

    总而言之,我会做这样的事情:

    FROM golang:latest
    RUN go get -u github.com/golang/dep/cmd/dep \
    &&  mkdir /go/src/github.com/you \
    &&  git clone https://github.com/you/yourproject /go/src/github.com/you/yourproject
    
    WORKDIR /go/src/github.com/you/yourproject
    
    RUN dep ensure -v
    &&  go build
    
    CMD ["./yourproject"]
    

    【讨论】:

      【解决方案2】:

      这里是一个带有 dep 的 Dockerfile 示例:

      FROM golang:latest 
      
      LABEL version="1.0"
      
      RUN mkdir /go/src/app
      
      RUN go get -u github.com/golang/dep/cmd/dep
      
      ADD ./main.go /go/src/app
      COPY ./Gopkg.toml /go/src/app
      
      WORKDIR /go/src/app 
      
      RUN dep ensure 
      RUN go test -v 
      RUN go build
      
      CMD ["./app"]
      

      【讨论】:

        猜你喜欢
        • 2021-06-01
        • 2021-11-16
        • 2021-02-08
        • 2023-04-03
        • 2018-12-03
        • 1970-01-01
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多