关于虚拟机:vagrant-up报错EncodingUndefinedConversionError

5次阅读

共计 809 个字符,预计需要花费 3 分钟才能阅读完成。

前言

在五月初找到工作后,就始终在肝论文(后面因为找工作的起因加上本人不太器重,欠下了太多),直到六月初才问难完,所有尘埃落定,就等拿双证了。整个六月都在划水,一是后面找工作有点焦虑,二是前面始终肝论文,太累了,所以问难完之后就像泄了气的皮球一样,没有了能源。

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 明码,发现虚拟机启动胜利。

正文完
 0