日本語ユーザー名でVagrant upできない場合

Windowsではユーザー名に日本語が使えるという致命的なバグ(バグをバグと見抜けない人は云々)があるので、そのせいで開発者は困る事があります。rubyとかカジュアルにプログラムできる言語で、はい完成!どうぞお試しください→なぜか動かないみたいなかんじで結構ハマります。んで、今回はVagrantでハマったので解決策をシェアします。

問題点

環境は

  • Windows7(64bit)
  • vagrant1.4.3
  • ruby 2.0.0-p451
  • rubygems 2.2.2

で、ユーザーは日本語ユーザー名でした。
最近までは動いていたので、何かがアップグレード(多分Vagrant)した時に日本語ユーザー名だと動かないように設定されてしまったんでしょう。environment.rbでjoin部分のエンコードおかしくなってたのでUTF-8を無理やり噛ませて日本語を通るように処理したのですが、今度はVirtualboxで日本語ユーザー名が弾かれて泣きました。

解決策

環境変数にVAGRANT_HOMEを設定し、cドライブ直下に設定してあげればOK。

c:\.vagrant.d

環境変数あるんじゃねーかと思っていろいろ調べてたら発見しました。ぜひ公式サイトに掲載しておいてほしいものです。

WindowsだとおそらくCode COESERVEREXECFAILUREというエラーが表示されるので、下記の対応をしてあげればVagrantは通常通り動くはずです。

Vagrantで「Code COESERVEREXECFAILURE」が出る場合の対処法 | たんしおどっとねっと