vagrant up报错(Encoding::UndefinedConversionError)

前言 【vagrant up报错(Encoding::UndefinedConversionError)】在五月初找到工作后,就一直在肝论文(前面因为找工作的原因加上自己不太重视,欠下了太多),直到六月初才答辩完,一切尘埃落定,就等拿双证了。整个六月都在划水,一是前面找工作有点焦虑,二是后面一直肝论文,太累了,所以答辩完之后就像泄了气的皮球一样,没有了动力。
6月23号过了这里,找房子、入职,直到今天才算安顿了下来,所以今天想续上之前学的内容,隔了快两个月了,一执行 vagrant up 命令就报错了,报错如下:

D:/LaravelEnvironment/Vagrant/embedded/gems/2.2.18/gems/childprocess-4.1.0/lib/childprocess/windows/process_builder.rb:44:in `encode!': "\\xE5" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to UTF-16LE (Encoding::UndefinedConversionError)

不过幸好有前辈之前遇到过类似问题,还写下了 《vagrant up报错 process_builder.rb:44:in `encode: “xE5“ to UTF-8 in conversion from ASCII-8BIT to UTF-》 这篇博客,所以很快就解决了这个问题。这篇博客可以说是完全“抄”前辈的那篇博客,虽然意义不大,但是自己会映象更深刻。
解决方法 1. 根据爆粗提示,找到 process_builder.rb 文件。
2. 打开该文件,找到第 44 行的内容,如下所示:
![上传中...]()
将其44行的内容注释,并 44 行的后面添加如下内容:
newstr.encode!('UTF-16LE',invalid: :replace, undef: :replace,replace: '?')

最终如下所示:
![上传中...]()
最后重新执行 vagrant up 密码,发现虚拟机启动成功。

    推荐阅读