虽然似乎有很多关于在Windows中设置JAVA_HOME变量的问题和答案,但我并不完全确定哪里出了问题。我遵循了各种不同的设置环境变量的指示,当我在ruby中检查环境变量时,我得到:
c:\Ruby192>rib irb(main):001:0> puts ENV['JAVA_HOME'] "c:\progra~1\java\jdk1.6.0_20" => nil
所以我将这解释为环境变量已经被设置,因为我的jdk路径被返回,但是'nil'是什么意思?
echo %JAVA_HOME%
也返回我的jdk路径。
当我运行
gem install rjb
我得到
extconf.rb:39:in '(main)': JAVA_HOME is not a directory. (RuntimeError)
当我查看extconf.rb文件时,确实如此,我有
javahome = ENV['JAVA_HOME'] if javahome.nil? && RUBY_PLATFORM =~ /darwin/ javahome = `/usr/libexec/java_home`.strip end unless javahome.nil? if javahome[0] == ?" && javahome[-1] == ?" javahome = javahome[1..-2] end raise "JAVA_HOME is not directory." unless File.directory?(javahome) pt = Path.new
所以从我所能看到的,要么nil意味着找不到JAVA_HOME,要么我没有指向正确的路径或其他一些问题。
我尝试将'\bin'包含在路径的末尾,因为有些回答说这是必要的,但我得到了相同的结果。
有什么建议吗?
c:\Ruby192>rib irb(main):001:0> puts ENV['JAVA_HOME'] "c:\progra~1\java\jdk1.6.0_20" => nil
所以我将这解释为环境变量已经被设置,因为我的jdk路径被返回,但是'nil'是什么意思?
echo %JAVA_HOME%
也返回我的jdk路径。
当我运行
gem install rjb
我得到
extconf.rb:39:in '(main)': JAVA_HOME is not a directory. (RuntimeError)
当我查看extconf.rb文件时,确实如此,我有
javahome = ENV['JAVA_HOME'] if javahome.nil? && RUBY_PLATFORM =~ /darwin/ javahome = `/usr/libexec/java_home`.strip end unless javahome.nil? if javahome[0] == ?" && javahome[-1] == ?" javahome = javahome[1..-2] end raise "JAVA_HOME is not directory." unless File.directory?(javahome) pt = Path.new
所以从我所能看到的,要么nil意味着找不到JAVA_HOME,要么我没有指向正确的路径或其他一些问题。
我尝试将'\bin'包含在路径的末尾,因为有些回答说这是必要的,但我得到了相同的结果。
有什么建议吗?