使用 Ruby MRI 设置 neo4j 和 Rails 3.2

Setup neo4j and Rails 3.2 with Ruby MRI

我想尝试将 neo4jRails 3.2 应用程序一起使用,该应用程序正在使用 Ruby MRI。
this 设置文档中,捆绑应用程序需要 ActiveSupport 4,因此,问题是是否可以使用当前设置 (ActiveSupport 3.2.x) 不使用 JRuby.
首选设置是使用 server db,而不是嵌入式。 谢谢

这是个好问题。我查看了 git 日志,我不知道它是什么时候从版本 3 切换到版本 4 的。看起来它从 neo4j 的版本 3.0.0 开始就一直在使用 4 gem,但是,那是我们开始支持服务器模式的时候。

关于 JRuby,即使您可以选择它,您仍然需要使用 ActiveSupport,所以我认为它没有帮助。

我尝试将 activesupportactivemodelrailties 更改为 gem 和 运行 规范中的版本 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'

看来我们依赖的 ActiveSupport 4 中至少有一个东西。

如果这真的很重要,我建议分叉 neo4j 存储库并将其包含在您的 Gemfile 中,如下所示:

gem 'neo4j', github: 'your_username/neo4j'

然后在您的存储库中,您可以更改 neo4j.gemspec 以使用我上面列出的 gem 的版本 3。然后,您需要解决我上面提到的问题以及您可能 运行 遇到的任何其他问题。显然,这会使跟上 gem.

的最新更改变得困难。

一般来说,我支持尽可能多地支持 Rails / ActiveSupport 的旧版本。看来我先升级到 ActiveSupport 4,但我们肯定会考虑三次,具体取决于 5 中的任何功能。

祝你好运!