我正在尝试使用golang neo4j驱动程序运行(https://neo4j.com/developer/go/)处的示例代码,但遇到编译问题。
我已经从源代码构建了seabolt 1.7.4。 具有以下变量 指向seabolt-1.7.4 / build / dist / share / pkgconfig的PKG_CONFIG_PATH 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:undefined:Config ../pkg/mod/github.com/neo4j-drivers/gobolt@v1.7.4/connector_worker.go:31:15:未定义:seaboltConnector
谁能指出我正确的方向。
答案 0 :(得分:0)
对我来说,这也是一个大问题的根源,但最终我将其解决了。
问题是您从其repo下载的库很可能链接到尚未安装的openssl版本。因此,您可能需要自己进行编译,使其与当前的操作系统和体系结构相关,或者您需要手动编辑动态链接库的路径,以使其正确无误,例如,如果您使用的是macOS,则使用nm。>
简单地说,您需要首先在工作环境中使用libseabolt。
可以肯定地认为,正确部署东西很麻烦,我不得不在这里和那里进行黑客攻击,以便能够始终使用此驱动程序与Docker一起部署东西。
祝你好运:)