Vagrant在Windows上出现错误:“无法加载此类文件”nokogiri。

5
我正在尝试在AWS上运行vagrant up命令以创建一个box。vagrant文件已经在我的Mac上成功,现在我想在Windows上运行。我刚刚安装了最新的Vagrant for Windows(1.8.1)并安装了AWS插件。
当我运行vagrant up时,会得到以下输出:
C:/HashiCorp/Vagrant/embedded/gems/gems/nokogiri-1.6.3.1-x86-mingw32/lib/nokogiri.rb:29:in require':无法加载此文件--nokogiri / nokogiri(Load Error) from C:/HashiCorp/Vagrant/embedded/gems/gems/nokogiri-1.6.3.1-x86-mingw32/lib/nokogiri.rb:29:in `rescue in' from C:/HashiCorp/Vagrant/embedded/gems/gems/nokogiri-1.6.3.1-x86-mingw32/lib/nokogiri.rb:25:in `' from C:/Users/renato.mintz/.vagrant.d/gems/gems/fog-xml-0.1.2/lib/fog/xml.rb:2:in `require' from C:/Users/renato.mintz/.vagrant.d/gems/gems/fog-xml-0.1.2/lib/fog/xml.rb:2:in `' from C:/Users/renato.mintz/.vagrant.d/gems/gems/fog-1.37.0/lib/fog.rb:13:in `require' from C:/Users/renato.mintz/.vagrant.d/gems/gems/fog-1.37.0/lib/fog.rb:13:in `' from C:/Users/renato.mintz/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/connect_aws.rb:1:in `require' from C:/Users/renato.mintz/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/connect_aws.rb:1:in `' from C:/Users/renato.mintz/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action.rb:97:in `block in action_read_state'...
并且还有更多的输出。
我发现一些关于nokogiri无法在Windows 2.2上运行ruby的帖子,但我不确定是否已经有解决方法。
如何解决或绕过这个问题?
2个回答

5
这是一个已知问题(https://github.com/mitchellh/vagrant/issues/6766),需要修复,原因是vagrant修复了低版本的nokogiri。同时,在C:\HashiCorp\Vagrant\embedded\gems\specifications\vagrant-1.8.1.gemspec中,您会找到具有有问题的nokogiri引用的gemspecs。将C:\HashiCorp\Vagrant\embedded\gems\specifications\vagrant-1.8.1.gemspecC:\HashiCorp\Vagrant\embedded\gems\specifications\vagrant.gemspec(如果存在) 中的nokogiri引用从<nokogiri>,["= 1.6.3.1"]更改为<nokogiri>,[">= 1.6.3.1"](请注意>==不同)。完成后,您可以运行以下内容,以允许vagrant访问没有问题的nokogiri版本:

vagrant plugin install nokogiri --plugin-version 1.6.7.1

执行以上命令后,Vagrant应该可以正常运行。希望不久就会有更新的版本。


这是我在这个问题上看到的最有希望的信息,但是尽管按照说明进行更改,我仍然无法解决这个错误。你的结果可能会有所不同。 - Steve
如果我没记错的话,在vagrant 1.8.1的gemspec中有3个需要更改的地方,你都改了吗?(只是问一下,因为上述方法在Windows 7和Windows Server 2012 R2上都可以使用,并且可以与多个Ruby 2的次要版本一起使用),否则,您系统设置的详细信息可能有助于找到适用于所有情况的解决方法。 - Rich O'Kelly
是的Rich,我确实替换了所有三个实例。我使用的是Win 10,不知道是否有问题,但我仍然在使用vagrant时遇到问题。 - Steve

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接