Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby RJB can';无法创建Java虚拟机错误_Ruby_Path_Jvm_Nlp_Rjb - Fatal编程技术网

Ruby RJB can';无法创建Java虚拟机错误

Ruby RJB can';无法创建Java虚拟机错误,ruby,path,jvm,nlp,rjb,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 (R

这个问题我已经被问过好几次了,但是没有一个代表对我有效。我已经尝试了几个版本的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_回家。我只是使用简单的代码来测试rjb,因为我真的需要它来工作,所以斯坦福开放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>'
ruby-d-rubygems-rrjb-e'Rjb::load'
c:/RailsInstaller/Ruby2.1.0/lib/ruby/site\u ruby/2.1.0/rubygems.rb:1203处出现异常“LoadError”-无法加载此类文件--rubygems/defaults/ruby
c:/RailsInstaller/Ruby2.1.0/lib/ruby/site\u ruby/2.1.0/rubygems/core\u ext/kernel\u require.rb:55处出现异常“LoadError”-无法加载此类文件--rjb
c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/Fiddle.rb:46处出现异常“Fiddle::DLError”-没有此类文件或目录
DL已弃用,请使用Fiddle
异常'DL::DLError'位于-e:1-没有这样的文件或目录
c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/Fiddle.rb:46处出现异常“Fiddle::DLError”-没有此类文件或目录
异常'DL::DLError'位于-e:1-没有这样的文件或目录
异常“RuntimeError”位于-e:1-无法创建Java VM
-e:1:在“加载”中:无法创建Java虚拟机(RuntimeError)
from-e:1:in`'

这是否意味着path或JAVA_HOME存在错误?如果是这样,我该如何正确设置呢?

所以在我最终找到解决方案之后。只有当java和ruby都是32位或都是64位时,rjb才会工作。不同版本将导致VM错误

要解决:

  • 在终端中查找您正在运行的ruby版本
    ruby-v
  • 在终端中查找java的版本
    javac
    java-v
  • 查找版本是64位还是32位
  • 如果不同的话,我认为更改我的jdk版本更容易-卸载jdk
  • 下载/安装x86(32位)版本的jdk
  • 确保JAVA_HOME env变量设置为jdk的位置(可能需要重新启动才能使所做的任何更改生效)
  • 繁荣-希望这也适用于其他人