【问题标题】:Ruby on Rails, JRuby, Neo4j integrationRuby on Rails、JRuby、Neo4j 集成
【发布时间】:2014-05-09 14:58:02
【问题描述】:

我正在尝试将 Neo4j 图形数据库添加到我的 rails 应用程序中。我已经安装了 neo4j gem。 问题是,当我运行 bundle(RVM 设置为 JRuby)时,我会收到有关 jruby 中不可用的其他 gem 的消息(具体是mini_magick):

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/Felan/.rvm/rubies/jruby-1.7.10/bin/jruby extconf.rb  
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS.

我不知道如何将选项传递给 jruby,也无法删除不兼容的 gem。 我怎样才能解决这个问题?谁能指出一篇关于如何为现有 Rails 4 项目设置 Neo4j 的好文章?

【问题讨论】:

  • 您是否尝试按照错误消息的建议进行操作? Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS.
  • 您是否考虑过尝试使用 Pacer? github.com/pangloss/pacer ...它是一个基于 JRuby 的图数据库遍历引擎,功能强大得离谱。
  • @LeviStanley,我已经搜索了一个多小时没有运气!谢谢...我想我会使用“Neography”宝石。

标签: ruby-on-rails ruby neo4j jruby


【解决方案1】:

首先,这个问题问得有点“糟糕”——您需要为 JRuby 构建的 neo4j gem,但问题的要点是您当前的 gem 不兼容问题,我们对此知之甚少。

我强烈建议不要将-Xcext.enabled=true 与 JRuby 一起使用,而是建议您查看您的 gem(从 Gemfile 开始)。确保使用不提供 JRuby 原生扩展替代方案的原生 C 扩展标记声明的 gem,例如仅 MRI,例如

gem 'mysql2', :platform => :mri

请务必明智地查看,因为您提供的错误是通用错误,绝对不是由 mini_magick 引起的,因为该 gem 是纯 Ruby 并且应该在所有 Ruby 上都可以正常工作...

【讨论】:

    猜你喜欢
    • 2013-09-18
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2018-06-09
    • 1970-01-01
    • 2019-01-07
    相关资源
    最近更新 更多