mac os 在go build时遇到confluent-kafka-go的问题
在go build的时候出现如下报错信息
# 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
网上百度说在使用confluent-kafka-go前需要先安装librdkafka,出现该问题的原因是本机没有安装librdkafka的插件,所以现在试着在本机安装librdkafka。
安装librdkafka
MacOS安装
brew install librdkafka
CentOS
yum install librdkafka
Debian
apt install librdkafka
FreeBSD
pkg install librdkafka
通过brew install librdkafka后再次进行go build还是出现报错信息
# pkg-config --cflags -- rdkafka
Package libcrypto was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcrypto.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libcrypto', required by 'rdkafka', not found
pkg-config: exit status 1
这次是表示libcypto插件没有找到,网上百度之后也没有找到对应的方法,通过brew install libcrypto也是安装失败,最后想到可能是librdkafka的版本问题,因为我编译的项目是老项目,使用go vendor模式,使用confluent-kafka-go版本可能也比较低。
先卸载当前安装的librdkafka。
brew uninstall librdkafka
然后去github下载了低版的librdkafka,安装完之后,可以正常进行go build编译项目。
mac os 手动安装指定版本的librdkafka
一、下载一个指定版本的librdkafka包。
下载链接:https://github.com/confluentinc/confluent-kafka-go/releases
由于是一个比较老的项目,还没有使用go mod,所以我选择的是1.4.2的版本
二、解压并进入confluent-kafka-go包
找到下载的文件并解压,然后执行一下命令
cd librdkafka-1.4.2
./configure
make
sudo make install