我正在尝试使用 golang neo4j 驱动程序运行位于 ( https://neo4j.com/developer/go/ ) 的示例代码,但遇到了编译问题。
我已经从源代码构建了 seabolt 1.7.4。 具有以下变量 PKG_CONFIG_PATH 指向 seabolt-1.7.4/build/dist/share/pkgconfig OPENSSL_ROOT_DIR=/usr/local/opt/openssl DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/seabolt-1.7.4/build/dist/lib
当我尝试使用命令构建我的代码时 env GOOS=linux go build -ldflags="-s -w"--tags seabolt_static -o bin/user users/user.go
出现以下错误
github.com/neo4j-drivers/gobolt ../pkg/mod/github.com/neo4j-drivers/gobolt@v1.7.4/connector_worker.go:30:14:未定义:配置 ../pkg/mod/github.com/neo4j-drivers/gobolt@v1.7.4/connector_worker.go:31:15: undefined: seaboltConnector
谁能指出我正确的方向。
最佳答案
这对我来说也是一个大问题的根源,但我最终解决了它。
问题是您从他们的 repo 下载的库很可能链接到您尚未安装的 openssl 版本。因此,您可能需要自己编译它以使其与您当前的操作系统和体系结构相关,或者您需要手动编辑动态链接库的路径以使其正确,例如,如果您使用的是 macOS,则使用 nm。
简单地说,您需要先让 libseabolt 在您的工作环境中可用。
可以肯定地说,正确部署东西是一件很痛苦的事情,我不得不在这里和那里做 hack,以便能够始终如一地使用这个驱动程序通过 docker 部署东西。
祝你好运:)
关于go - 使用 neo4j go 驱动程序编译 neo4j 代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56728697/