尝试使用 docker-compose up 时找不到包“github.com/streadway/amqp”

发布时间:2021-03-07 15:08

我尝试在 docker-compose 中编写 rabbitmq 和我的项目。
我用 send.go 和 receive.go 文件和一个文件做了一个简单的项目来测试它。当我使用命令“docker-compose up”时出现错误:

<块引用>

第 3/4 步:运行 go build -ldflags="-s -w" -o RabbitTest send.go receive.go ---> 在 970164ae43a4 中运行 send.go:6:2: 找不到 将“github.com/streadway/amqp”打包到以下任何一个中: /usr/local/go/src/github.com/streadway/amqp(来自 $GOROOT) /go/src/github.com/streadway/amqp(来自 $GOPATH)错误:服务 'test' 无法构建:命令 '/bin/sh -c go build -ldflags="-s -w" -o RabbitTest send.go receive.go' 返回非零代码:1

这是我的测试。Dockerfile:

FROM golang:1.14 
WORKDIR /app 
COPY . . 
RUN go build -ldflags="-s -w" -o RabbitTest send.go receive.go 
CMD ["go", "test", "./..."]

这是我的 docker-compose.yaml :

version: '3.7'
services:
  rabbit:
    image: bitnami/rabbitmq:latest
    ports:
      - "5672:5672"
      - "15672:15672"
    container_name: rabbitmq
    hostname: rabbitmq
    environment:
    - RABBITMQ_USERNAME=user
    - RABBITMQ_PASSWORD=password
    - RABBITMQ_ERL_COOKIE=secretcookie
  test:
    build:
      context: ./
      dockerfile: test.Dockerfile
    depends_on:
      - "rabbit"

这是在 send.go 中导入的错误:

import (
"github.com/streadway/amqp"
"log"

)

当我在 ide 中运行我的项目时它可以工作,但是当开始构建时 - 一个错误。你能解释一下,出了什么问题,我怎样才能让这个包被看到?

回答1

在 Golang 中我们需要添加 go.mod 文件,并在 required 部分添加所需的依赖项。

n_skips