我想尝试将neo4j与使用Ruby MRI的Rails 3.2应用程序一起使用
在本安装文档中,绑定应用程序需要ActiveSupport 4,因此,问题是是否可以在不使用JRuby的情况下使用当前安装程序(ActiveSupport 3.2.x)
首选设置是使用服务器数据库,而不是嵌入式。感谢
这是个好问题。我浏览了git日志,不知道它是什么时候从版本3切换到版本4的。不过,从neo4j
-gem的3.0.0版本开始,它似乎一直在使用4,也就是我们开始支持服务器模式的时候。
关于JRuby,即使它是您的一个选项,您仍然需要使用ActiveSupport,所以我认为它不会有帮助。
我尝试在gem中将activesupport
、activemodel
和railties
更改为版本3,并运行规范,得出了以下结果:
/Users/brian/github/neo4jrb/neo4j/lib/neo4j/active_node/scope.rb:1:in `require': cannot load such file -- active_support/per_thread_registry (LoadError)
from /Users/brian/github/neo4jrb/neo4j/lib/neo4j/active_node/scope.rb:1:in `<top (required)>'
from /Users/brian/github/neo4jrb/neo4j/lib/neo4j.rb:89:in `require'
所以看起来ActiveSupport4中至少有一件事是我们所依赖的
如果这真的很重要,我建议分叉neo4j
存储库,并将其包含在Gemfile中,如下所示:
gem 'neo4j', github: 'your_username/neo4j'
然后,在您的存储库中,您可以更改neo4j.gemspec
以使用我上面列出的gems的版本3。然后你需要解决我上面提到的问题以及你可能遇到的任何其他问题。显然,这将使我们很难跟上创业板的最新变化。
一般来说,我赞成尽可能多地支持旧版本的Rails/ActiveSupport。它看起来像是在我之前升级到ActiveSupport 4,但在依赖5中的任何功能之前,我们肯定会三思而后行。
祝你好运!