带有JRuby的Rails应用程序无法工作



我有一个在Ubuntu上创建的Rails应用程序。我想在Mac上运行它,但在安装捆绑包并运行rails s后,我遇到了以下错误:

LoadError:加载错误:sqlite3/sqlite3_native--java.lang.UnsisfiedLinkError:未能加载填充程序库,错误:dlopen(/Users/home/.rvm/rubes/jruby-1.7.4/lib/natute/Darwin/libjruby-cext.dylib,10) :在org/jruby/RubyKernel.java:1054
(root)上找不到需要的映像/Users/home/.rvm/gems/jruby-1.7.4/gems/sqlite3-1.3.8/lib/sqlite3.rb:6需要在org/jruby/RubyKernel.java:1054(root)/用户/home/.rvm/gems/jruby-1.7.4@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:1在org/jruby/RubyArray.java:1617上的每个都需要在/Users/home/.rvm/gems上/jruby-1.7.4@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72在org/jruby/RubyArray.java:1617上的每个都需要在/Users/home/.rvm/gems上/jruby-1.7.4@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70要求在/用户/home/.rvm/gems/jruby-1.7.4@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59要求在/用户/home/.rvm/gems/jruby-1.7.4@global/gems/bundler-1.3.5/lib/bundler.rb:132需要在org/jruby/RubyKernel.java:1054(root)/Users/home/workSpace/RubyOnRails/sample_app/config/application.rb:13点击org/jruby/RubyGernel.java:1860(root)上的/Users/home/.rvm/gems/jruby-1.7.4/gems/railties-3.28/lib/rails/commands.rb:1需要在org/jruby/RubyKernel.java:1054(root)的script/rails:6

我的Gemfile

source'https://rubygems.org'

gem‘rails’,‘3.2.8’

gem"sqlite3">

集团:资产做创业板"sass rails","~>3.2.3"创业板'咖啡导轨','~>3.2.1'

gem'uglifier','>=1.0.3'结束

gem"jquery rails">

gem"execjs">

组:测试,:开发做gem"rspecrails","~>2.0"端

宝石"spork">

gem"webrat">

宝石"heroku">

我正在使用jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) 64-Bit Server VM 1.7.0_15-b03 [darwin-x86_64]轨道3.2.8

问题源于您试图使用依赖于C扩展的Ruby gem。从JRuby维基:

1.6之前的JRuby版本不支持Ruby C扩展,并且即使在1.6版本中,该支持仍在"开发中"并考虑实验的截至1.7,它已被禁用,并且可能会已删除。

具体而言,错误消息状态为:dlopen(/Users/home/.rvm/rubies/jruby-1.7.4/lib/native/Darwin/libjruby-cext.dylib, 10): image not found。这是在尝试加载未找到的JRubyC扩展包装器。我不确定这里的确切原因,但也许它没有安装。

在我看来,你有两个主要的选择:

  1. 安装常规MRI,而不是像在Ubuntu上那样安装JRuby。然后,您可以根据需要使用带有C扩展的gem
  2. 来自同一个wiki:使用activerecord jdbc适配器和jdbc-sqlite3。如果您的应用程序需要JRuby,这将允许您使用它
JRuby 1.7.x不再支持ruby C扩展。看到这张吉拉票

相关内容

  • 没有找到相关文章

最新更新