Vagrant不能识别x64-Windows7上的VirtualBox(已经运行JRuby)

我试图让Vagrant在64位的Windows 7机器上运行,而且我不断收到一个错误,“Vagrant无法检测到VirtualBox!” 这是我已经安装的:

  • JRE 6.0.230.25 x64
  • JRuby 1.6.0.0
  • Ruby 1.8.7.330(Windows)
  • VirtualBox 3.2.12
  • 当前版本的stream浪(截至01/18/11)

我每次尝试一个像这样的命令都会得到同样的错误

vagrant box add eyu package.box 

现在我对自己的智慧有了一些了解。 有什么build议么?

(而且我只是安装了Ruby版本的Windows之后,我不知道是否可能导致一些其他的冲突,让JRuby和Ruby安装在同一台机器上,但我一直在安装之前和之后得到这个错误。)

在此先感谢您的帮助。

你把你的路径中的Virtualbox命令?

set path=%path%;c:/programfiles/oracle/bin或类似?

在我的情况下,这个问题是由Java Home变量仍然指向Java 32位版本(Program Files(x86))造成的。

另外:当你改变Java Home变量时,重新启动你的cmd使其生效;-)(在我想出来之前,把我搞糟了)

如果出现同样的问题,最终的解决办法是确保JRuby使用64b JRE执行:请参阅https://groups.google.com/forum/#!topic/vagrant-up/jnksKOR_Qhs

请注意,如果在您的环境中设置了JAVA_HOME,那么即使使用包含JRE的安装程序安装JRuby,它也将使用来自JAVA_HOME的JRE。 您必须手动设置JAVA_HOME = c:\ jruby-xyz \ jre。

看来,流浪者正在寻找“VBoxManage”而不是“VBoxManage.exe”。

我改变了文件:

 <VAGRANT>/embedded/gems/gems/vagrant-1.4.3/plugins/providers/virtualbox/driver/base.rb 

在第26行:

 - @vboxmanage_path = "VBoxManage" + @vboxmanage_path = "VBoxManage.exe" 

Kaniabi相似,我改变了绝对的道路:

 - @vboxmanage_path = "VBoxManage" + @vboxmanage_path = "c:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe" 

干杯!