Ruby RJB无法创建Java VM错误

时间:2015-06-12 03:35:14

标签: ruby path jvm nlp rjb

我已经看过几次这个问题,但没有回复对我有用。我已经尝试了几个版本的rjb,几个jre版本..无论我尝试什么,当尝试使用rjb gem我得到以下错误:

DL is deprecated, please use Fiddle
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:45:in `load': can't create Java VM (RuntimeError)

我的路上有JAVA_Home。我只是使用简单的代码来测试rjb,因为我真的需要这个才能工作,所以stanford open nlp gem对我有用。

有任何解释吗?可能会帮助其他一些可怜的灵魂......如果有帮助,我会在Windows上运行

更新:在命令行中尝试以下操作来排除故障

 ruby -d -rubygems -rrjb -e 'Rjb::load'
Exception `LoadError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems.rb:1203 - cannot load such file -- rubygems/defaults/ruby
Exception `LoadError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55 - cannot load such file -- rjb
Exception `Fiddle::DLError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb:46 - No such file or directory
DL is deprecated, please use Fiddle
Exception `DL::DLError' at -e:1 - No such file or directory
Exception `Fiddle::DLError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb:46 - No such file or directory
Exception `DL::DLError' at -e:1 - No such file or directory
Exception `RuntimeError' at -e:1 - can't create Java VM
-e:1:in `load': can't create Java VM (RuntimeError)
        from -e:1:in `<main>'

这是否意味着路径或JAVA_HOME出错?如果是这样,我将如何正确设置?

1 个答案:

答案 0 :(得分:1)

所以在我终于找到了解决方案之后。 rjb仅在java和ruby为32位或64位时才有效。不同的版本会导致VM错误。

要解决:

  1. 在终端
  2. 中查找您正在运行ruby -v的ruby版本
  3. 在终端
  4. 中查找java javacjava -v的版本
  5. 查找版本是64位还是32位
  6. 如果不同,我认为更改我的jdk-uninstall jdk版本
  7. 更容易
  8. 下载/安装x86(32位)版本的jdk
  9. 确保将JAVA_HOME env变量设置为jdk的位置(可能必须重新启动才能使所做的任何更改生效
  10. 热潮 - 希望这也适用于其他所有人!