go - 使用 neo4j go 驱动程序编译 neo4j 代码的问题

标签 go neo4j

我正在尝试使用 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/

相关文章:

java - Neo4j 单元测试和 APOC

java - 在 Neo4j 中找到节点集(某些节点)之间最长路径的最佳方法是什么?

java - 从 java 连接 Neo4j 时出错

html - 浏览器不解释 html 模板

go - 如何初始化 slice 以供将来分配?

string - golang - 字符串排列 - slice 边界超出范围

configuration - 如何配置neo4j服务器使用bolt

http - 为什么 RoundTrip 不应该修改请求?

testing - 如何去测试 Go 例程?

Neo4j:无法登录:Neo.ClientError.Security.Unauthorized:由于身份验证失败,客户端未经授权