masalibの日記

システム開発、運用と猫の写真ブログです

vagrantで日本語のフォルダは使わない方がいい

とあるサイトのリニューアルするための環境構築をしているので

vagrantの置くフォルダ名が

D:\作業用フォルダ\リニューアル\環境作成

日本語のフォルダだと

D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/io.rb:32:in
`encode': "\x80" on Windows-31J (Encoding::InvalidByteSequenceError)

エンコードのエラーが発生します

ちなみに

エラーになっている箇所の文字コードを変更しても次のエラーがでます。諦めて日本語のフォルダはやめましょう。 Ruby1.9だと回避できるみたいだけどRuby2.2だと無理っぽい

data << io.readpartial(READ_CHUNK_SIZE).encode("UTF-8", Encoding.default_external)
# 
#↓
#
data << io.readpartial(READ_CHUNK_SIZE).encode("Windows-31J", Encoding.default_external)

参考URL https://qiita.com/mokuo/items/fb18713c4f0a19d9c48e

http://sugamasao.hatenablog.com/entry/2013/08/24/224521