我正在尝试为我在新 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 工具查看环境变量?