登录
首页 >  Golang >  Go问答

使用 Golang 在 M1 芯片上测试 Kafka 动态链接

来源:stackoverflow

时间:2024-02-18 18:39:24 123浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《使用 Golang 在 M1 芯片上测试 Kafka 动态链接》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我正在尝试为我在新的 m1 mac 上使用 golang / kafka 进行的 poc 编写一些单元测试。我正在使用 confluence 的官方 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]

即使设置了环境变量,至少在我的 shell 中:

% echo $PKG_CONFIG_PATH
/opt/homebrew/opt/openssl@3/lib/pkgconfig

是否有一些技巧可以让 go test 工具查看环境变量?


正确答案


好吧,没关系。我对此进行了排序...在我的 ~/.zshrc 中,我没有导出 pkg_config_path,所以我更改了这一点:

pkg_config_path="/opt/homebrew/opt/openssl@3/lib/pkgconfig"

对此:

export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"

这似乎有效。留下这个问题,以防万一它可能会帮助像我这样的其他菜鸟:-)。

好了,本文到此结束,带大家了解了《使用 Golang 在 M1 芯片上测试 Kafka 动态链接》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>