登录
首页 >  Golang >  Go问答

遇到 docker-compose up 时缺少“github.com/streadway/amqp”包

来源:stackoverflow

时间:2024-02-28 13:36:25 301浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《遇到 docker-compose up 时缺少“github.com/streadway/amqp”包》,聊聊,我们一起来看看吧!

问题内容

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


解决方案


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

module test 
require github.com/streadway/amqp v1.0.0

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>