Linux下配置golang的kafka编译环境

本文最后更新于:2021年9月29日 下午

本文配置基于confluent-kafka进行说明

首先你需要了解Kafka在Linux上如何安装动态运行时,只要过了这一步,才会涉及到本文章的内容。具体文章可以参考教你如何在Centos7中配置Kafka运行时环境

通过上文的配置,我们可以将编译好的程序放在Linux系统上运行。但是,你要首先保证能够编译成功。如果你不幸和我一样,是使用windows开发,linux发布的话你就会碰到一个很坑的问题,就是你在windows平台上无法基于set GOOS=linux编译confluent-kafka的程序。如果有读者知道怎么解决,欢迎告知我。

当我们在Linux系统上安装好kafka动态运行时。我们编译基于confluent-kafka库开发的程序go build 会有一个报错

1
2
3
4
5
6
# pkg-config --cflags rdkafka
Package rdkafka was not found in the pkg-config search path.
Perhaps you should add the directory containing `rdkafka.pc'
to the PKG_CONFIG_PATH environment variable
No package 'rdkafka' found
pkg-config: exit status 1

解决方法

**文件~/.bashrc 末尾添加内容如下 **

1
2
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
source ~/.bashrc

image-20210928162031563

/usr/local/lib/pkgconfig/下存放的是pc文件。

这些文件的作用:通过一个通用的参数从 .pc 文件里面获取一些数据来帮助调用某个函数库的程序得到正确的编译参数。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!