我正在尝试使用带有HTTP适配器的neo4j-core(8.1.4)gem访问neo4j数据库,并且收到以下错误。一些注意事项:
neo4j_session = Neo4j::Core::CypherSession.new(neo4j_adaptor)
时出现错误在这一点上很明显,系统找不到libcurl。所以,我:
我在libcurl-x64.dll(curl-7.61.1-win64-mingw)上使用依赖项遍历,并且在日志中得到以下内容:
这是缺少的模块示例:
考虑到机器正常工作,我想我对据报道缺少的模块数量感到惊讶。似乎根据以下内容,其中一些已作为体系结构更改的一部分被删除:https://social.msdn.microsoft.com/Forums/en-US/a28331ae-19a3-4a34-b3ba-1e8fd4430375/missing-apimswincore-dlls
Libcurl是常见的工具,所以让我感到非常惊讶的是,驴子一直很痛苦。
有什么想法吗?我现在不愿意进行干净的构建,并且在DLL网站上进行狩猎似乎还不是一个开始。
错误
LoadError: Could not open library 'libcurl' : The operation completed successfully.
Could not open library 'libcurl.dll' : The operation completed successfully.
Could not open library 'libcurl.so.4' : The operation completed successfully.
Could not open library 'libcurl.so.4.dll' : The operation completed successfully.
block in ffi_lib at C:/jruby-9.2.0.0/lib/ruby/stdlib/ffi/library.rb:114
map at org/jruby/RubyArray.java:2557
ffi_lib at C:/jruby-9.2.0.0/lib/ruby/stdlib/ffi/library.rb:84
<module:Curl> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curls/settings.rb:7
<module:Ethon> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curls/settings.rb:2
<main> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curls/settings.rb:1
require at org/jruby/RubyKernel.java:970
require at C:/jruby-9.2.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:59
<module:(root)> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curl.rb:1
<module:Curl> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curl.rb:27
<main> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curl.rb:13
require at org/jruby/RubyKernel.java:970
require at C:/jruby-9.2.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:59
<main> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon/curl.rb:8
require at org/jruby/RubyKernel.java:970
require at C:/jruby-9.2.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:59
<main> at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon.rb:1
require at org/jruby/RubyKernel.java:970
require at C:/jruby-9.2.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:59
block in (root) at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/ethon-0.11.0/lib/ethon.rb:15
block in (root) at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/typhoeus-1.3.0/lib/typhoeus.rb:1
(root) at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/typhoeus-1.3.0/lib/typhoeus.rb:2
(root) at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/neo4j-core-8.1.4/lib/neo4j/core/cypher_session/adaptors/http.rb:1
HTTP at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/neo4j-core-8.1.4/lib/neo4j/core/cypher_session/adaptors/http.rb:20
block in faraday_connection at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/neo4j-core-8.1.4/lib/neo4j/core/cypher_session/adaptors/http.rb:162
initialize at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/faraday-0.15.3/lib/faraday/connection.rb:89
new at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/faraday-0.15.3/lib/faraday.rb:70
faraday_connection at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/neo4j-core-8.1.4/lib/neo4j/core/cypher_session/adaptors/http.rb:154
initialize at C:/jruby-9.2.0.0/lib/ruby/gems/shared/gems/neo4j-core-8.1.4/lib/neo4j/core/cypher_session/adaptors/http.rb:117
<main> at import-into-neo4j.rb:11
答案 0 :(得分:0)
我已经没时间了。答案是(一种可悲的)解决方法:neography
neography宝石显然避免了libcurl依赖性,这对我的存在一直造成困扰,但仍然提供了足够的抽象性。谢谢。