我正在尝试为我在新 M1 Mac 上使用 Golang / Kafka 进行的 poc 编写一些单元测试。我正在使用来自 confluent 的官方 Golang Kafka 库:
"github.com/confluentinc/confluent-kafka-go/kafka"
显然,这个包依赖于一个librdkafka不是为 M1 构建的(还?)。对于构建,这里有一个工作,它是这样的:
% brew install librdkafka openssl zstd
% PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"
% go build -tags dynamic *yadda yadda yadda*
这对于构建/运行很好。不幸的是,它似乎不适用于测试。在描述解决方法的链接中,使用go test -tags dynamic ./...似乎有效,但在我的情况下,测试运行似乎没有读取导出的 PKG_CONFIG_PATH:
% go test -tags dynamic ./... -v
# 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
FAIL smartAC/shared [build failed]
即使设置了 env var,至少在我的 shell 中是这样:
% echo $PKG_CONFIG_PATH
/opt/homebrew/opt/openssl@3/lib/pkgconfig
是否有一些技巧可以让 go test 工具查看环境变量?