Vagrant Windows-1251编码错误

时间:2014-09-28 15:25:06

标签: vagrant

当我尝试使用“vagrant up”命令时,我得到了与vagrant的下一个错误:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'precise32'...
C:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.5.3/lib/childprocess/wind
ows/process_builder.rb:43:in `join': incompatible character encodings: Windows-1
251 and UTF-8 (Encoding::CompatibilityError)

我有Windows 8.1,之前使用过“chcp 1251”命令,因为它与“ibm866”编码的错误相同。

谢谢!

5 个答案:

答案 0 :(得分:6)

通过设置环境变量VAGRANT_HOME

解决了问题

答案 1 :(得分:4)

  1. 为路径设置环境变量VAGRANT_HOME,例如“c:\HashiCorp

  2. 然后在c:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.6.3\bin\vagrant ruby​​这两行之后添加到#!/usr/bin/env

  3. Encoding.default_external = Encoding.find('Windows-1251')

    Encoding.default_internal = Encoding.find('Windows-1251')

    请注意Windows-1251,而不是Windows-1250

    我认为您可能需要重启以启用环境变量。

答案 2 :(得分:3)

我的解决方案就是这个。

你必须去:c:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.6.3\bin\vagrant

编辑流浪者(文件)并在此之后添加:#!/usr/bin/env ruby

这2行

Encoding.default_external = Encoding.find('Windows-1250')
Encoding.default_internal = Encoding.find('Windows-1250')
祝你好运!

答案 3 :(得分:0)

是的,设置环境变量VAGRANT_HOME可以解决问题。

我认为这主要是因为vagrant up命令会尝试访问%userprofile%\.vagrant.d文件夹,但是%userprofile%Windows 1251编码命名。设置VAGRANT_HOME可以指向vagrant的ruby脚本可识别的路径。

答案 4 :(得分:0)

如果你在使用它时遇到麻烦,即使在设置env变量之后,也可以尝试将“homestead”文件夹移动到不包含任何cyrilic符号的路径。 或者您可以在没有cyrilc的情况下在系统中创建另一个用户 希望它有所帮助!