首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上使用confluent-kafka-go构建Go应用程序

在Linux上使用confluent-kafka-go构建Go应用程序
EN

Stack Overflow用户
提问于 2019-01-15 15:53:06
回答 2查看 2.6K关注 0票数 5

我正试图用我的go应用程序创建一个码头形象。应用程序(是在MacOS上开发的)依赖于confluent-kafka-go,而confluent-kafka-go又依赖于我在Docker映像中安装的librdkafka-dev,如下所示:

代码语言:javascript
复制
FROM golang:1.1
RUN apt-get update
RUN apt-get -y install librdkafka-dev

VOLUME /workspace
WORKDIR /workspace/src/my/app/folder
ENTRYPOINT ["/bin/sh", "-c"]

我得到了以下错误:

my/app/folder/vendor/github.com/confluentinc/confluent-kafka-go/kafka ../folder/vendor/github.com/confluentinc/confluent-kafka-go/kafka/00version.go:44:2:错误:#error“Confluent go需要librdkafka v0.11.5或更高版本。

据我所知,的最新版本是安装了。我怎么才能修好它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-15 23:06:45

几周前我也有过类似的问题。IIRC confluent-kafka-go需要一个最新版本的librdkafka-dev,它还没有发布到阿尔卑斯山或其他地方。不过,我能够为ubuntu找到它,所以我的解决方案(比我希望的要多,但它起作用了)是从干净的ubuntu开始,安装librdkafka-dev,安装我想要的Go版本,并在docker中编译。

以下是它的外观:

代码语言:javascript
复制
FROM ubuntu

# Install the C lib for kafka
RUN apt-get update
RUN apt-get install -y --no-install-recommends apt-utils wget gnupg software-properties-common
RUN apt-get install -y apt-transport-https ca-certificates
RUN wget -qO - https://packages.confluent.io/deb/5.1/archive.key | apt-key add -
RUN add-apt-repository "deb [arch=amd64] https://packages.confluent.io/deb/5.1 stable main"
RUN apt-get update
RUN apt-get install -y librdkafka-dev

# Install Go
RUN add-apt-repository ppa:longsleep/golang-backports
RUN apt-get update
RUN apt-get install -y golang-1.11-go

# build the library
WORKDIR /go/src/gitlab.appsflyer.com/rantav/kafka-mirror-tester
COPY *.go ./
COPY // the rest of your go files. You may copy recursive if you want
COPY vendor vendor

RUN GOPATH=/go GOOS=linux /usr/lib/go-1.11/bin/go build -a -o main .

EXPOSE 8000

ENTRYPOINT ["./main"]
票数 12
EN

Stack Overflow用户

发布于 2019-01-15 16:26:40

您可以在apt命令中指定要安装的软件包的版本。e.g

代码语言:javascript
复制
apt-get install librdkafka-dev=0.11.6~1confluent5.0.1-1

如果这样做不起作用,那么我认为apt源代码就没有0.11.5版的图书馆员。您可以在/etc/apt/sources.list中添加一个具有正确版本的图书库的存储库,如下所述:cp/deb-ubuntu.html#systemd-ubuntu-debian-install

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54202373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档