一、开发环境

  • 系统:OSX 10.10.5
  • vagrant版本:vagrant1.7.4
  • 虚拟机box:vagrant-centos-6-7.box

本人使用vagrant搭建了centOS6.7虚拟机开发环境,用作web开发。mac电脑选用公司的网线上网,也就是使用网卡“en0: 以太网”。

但最近碰到一个棘手的问题。
注:关于vagrant搭建可以参考github:https://github.com/astaxie/Go...

二、问题描述

想选择桥接模式让虚拟机上网,于是在mac端编辑Vagrantfile,添加 config.vm.network "public_network",并将其他的network设置注释掉。vagrant up启动虚拟机之后,看到如下的输出:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set network interfaces...
==> default: Available bridged network interfaces:
1) en0: 以太网
2) en1: Wi-Fi (AirPort)
3) en2: Thunderbolt 1
4) en3: Thunderbolt 2
5) p2p0
6) awdl0
7) bridge0
==> default: When choosing an interface, it is usually the one that is
==> default: being used to connect to the internet.default: Which interface should the network bridge to?

因本人使用网线上网,于是选择了1) en0: 以太网,选择1之后看到如下输出(后面还有很多报错省略了):

==> default: Preparing network interfaces based on configuration...default: Adapter 1: natdefault: Adapter 2: bridged
/opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/util/subprocess.rb:28:in `encode': "\xE4" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
from /opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/util/subprocess.rb:28:in `block in initialize'
from /opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/util/subprocess.rb:28:in `map'

三、解决问题

仔细查看报错信息:

/opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/util/subprocess.rb:28:in `encode': "\xE4" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

- 1、看到上面的报错我是崩溃的,在google和百度找了很久,没找到答案。经过几番测试,我发现只有选择1) en0: 以太网才会报类似的错误,选择其他的选项时,虽然连不联网,但是不会报这样的错。我怀疑可能是编码问题!

  • 2、仔细查看第一行报错“subprocess.rb:28:in `encode': "xE4" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)”。可以看出就是编码转换问题了。
  • 3、按照报错信息,找到文件/opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/util/subprocess.rb
  • 4、vim这个文件,找到第28行可以看到
@command = @command.map { |s| s.encode(Encoding.default_external) }

以上是Ruby语法,本人也不懂ruby,刚开始束手无策,google了一下ruby编码转换的问题,尝试把上面这行改动了一下,改为以下内容:

@command = @command.map { |s| s.force_encoding('UTF-8') }

注意:不知道ruby对空格要求严不严格,改动后的代码两边的大括号保留了空格!

  • 5、退出保存,重新vagrant up启动虚拟机,再次选择“1) en0: 以太网”发现虚拟机正常启动!问题得到了解决

这个应该属于vagrant的一枚bug!!

mac下,vagrant桥接,选择“en0: 以太网”无法启动虚拟机解决方案相关推荐

  1. C++读图片——Mac下对于bmp文件读写读取过大的解决方案

    Mac下对bmp文件处理时size过大的解决方案 当在读写bmp信息头的时候,首先对根据C和C++的对齐预编译指令进行对齐之后,当进行读文件之后会出现biWidth和biHeight过大的情况.本篇文 ...

  2. mac php编译freetype,Mac下本机自带PHP缺少freetype最终解决方案

    运行tp5,用 mac下的php环境简直是灾难!!验证码这里各种报错 Call to undefined function think\captcha\imagettftext() 百度一下,是GD库 ...

  3. MAC下downie下载网页视频报错“转换错误”解决方案

    问题描述 有些网页使用downie可一完成100%进程,但在最后一步出现"转换错误",文件无法播放.但是已经下载的.downiepart文件体积却是正常视频的体积,说明视频已经完成 ...

  4. mac 下修改 jenkins 端口以及Jenkins的启动、关闭与更新

    安装包安装的Jenkins 修改默认端口的方法: 先关闭jenkins ; 命令行下修改端口:sudo defaults write /Library/Preferences/org.jenkins- ...

  5. mac安装python环境教程_python mac下安装虚拟环境的图文教程

    Mac 下 Flask 框架 workon命令找不到 ---- 最终解决方案(详解具体实现操作过程中遇到的坑)2018年08月17日 00:02:05Jasonmes阅读数:622 Mac 下 Fla ...

  6. mac下flink的wordcount案例

    文章目录 1. 环境准备 2. 启动 3. 编写代码 1. 环境准备 Mac下安装Flink的local模式 2. 启动 lcc@lcc flink-1.0.2$ bin/start-local.sh ...

  7. Mac下安装与使用Medis

    引言 Redis可视化工具之前使用过RedisDesktopManager,还写过相关的博客来记录: <Redis图形化工具安装教程> <RedisDesktopManager使用教 ...

  8. virtualbox php mac,mac下virtualbox+vagrant安装

    mac下virtualbox+vagrant安装 1.安装VirtualBox VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包 图1 2.安装并使用Vagrant 1)Va ...

  9. Mac 下抓包工具安装使用

    Mac下抓包 阅读目录 1.安装XQuartz 2.安装Wireshark 3.启动Wireshark 4.选择网卡,开始抓包 5.监听抓取802.11无线帧 6.通过RVI抓取iPhone数据包 7 ...

最新文章

  1. AI 框架部署方案之模型部署概述
  2. 北理工校友发明文言文“填词大师”,断句、造词都能做,高考文言文满分靠它了...
  3. 模拟线程切换 C++
  4. Python标准库03 路径与文件 (os.path包, glob包)
  5. 简单的外壳(shell)
  6. MSMQ(MicroSoft Message Queue,微软消息队列)
  7. JAVA入门级教学之(方法内存分配机制)
  8. c语言由声明部分,C语言期末复习.doc
  9. 简洁大气带进度条的URL跳转页面HTML源码
  10. java string char数组_String在Java中真的是不可变吗?
  11. mstsc远程桌面全频或自定义窗口
  12. Andriod 对号错号
  13. 11种免费获取SSL证书的方式
  14. java.net.UnknownHostException: localhsot
  15. [css选择器] 后代选择器
  16. 简单概括 文明进化的各个阶段 (39)
  17. 图(Graph)详解 - 数据结构
  18. 【kafka】-入门篇
  19. 安装系统正在为首次使用计算机ghost,win7系统安装程序显示正在为首次使用计算机做准备的解决方法...
  20. android源码 meizhi,74款安卓和IOS app源码地址

热门文章

  1. Codeforces 583 DIV2 Robot's Task 贪心
  2. SQL查询-巧用记录数统计人数
  3. 电脑有两个显示器用来显示,如何配置呢,请看下文
  4. linux之--install超时
  5. K210系列第一个示例程序
  6. Git学习(一)本地操作
  7. OpenCV入门: Mat数据类型及其转换,访问
  8. SLAM的一些基础知识
  9. mac 您没有权限打开应用程序_Mac应用程序无法打开或文件损坏的解决方法
  10. java脚本封号_java中如何踢人下线?封禁某个账号后使其会话立即掉线!