mac下,vagrant桥接,选择“en0: 以太网”无法启动虚拟机解决方案
一、开发环境
- 系统: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: 以太网”无法启动虚拟机解决方案相关推荐
- C++读图片——Mac下对于bmp文件读写读取过大的解决方案
Mac下对bmp文件处理时size过大的解决方案 当在读写bmp信息头的时候,首先对根据C和C++的对齐预编译指令进行对齐之后,当进行读文件之后会出现biWidth和biHeight过大的情况.本篇文 ...
- mac php编译freetype,Mac下本机自带PHP缺少freetype最终解决方案
运行tp5,用 mac下的php环境简直是灾难!!验证码这里各种报错 Call to undefined function think\captcha\imagettftext() 百度一下,是GD库 ...
- MAC下downie下载网页视频报错“转换错误”解决方案
问题描述 有些网页使用downie可一完成100%进程,但在最后一步出现"转换错误",文件无法播放.但是已经下载的.downiepart文件体积却是正常视频的体积,说明视频已经完成 ...
- mac 下修改 jenkins 端口以及Jenkins的启动、关闭与更新
安装包安装的Jenkins 修改默认端口的方法: 先关闭jenkins ; 命令行下修改端口:sudo defaults write /Library/Preferences/org.jenkins- ...
- mac安装python环境教程_python mac下安装虚拟环境的图文教程
Mac 下 Flask 框架 workon命令找不到 ---- 最终解决方案(详解具体实现操作过程中遇到的坑)2018年08月17日 00:02:05Jasonmes阅读数:622 Mac 下 Fla ...
- mac下flink的wordcount案例
文章目录 1. 环境准备 2. 启动 3. 编写代码 1. 环境准备 Mac下安装Flink的local模式 2. 启动 lcc@lcc flink-1.0.2$ bin/start-local.sh ...
- Mac下安装与使用Medis
引言 Redis可视化工具之前使用过RedisDesktopManager,还写过相关的博客来记录: <Redis图形化工具安装教程> <RedisDesktopManager使用教 ...
- virtualbox php mac,mac下virtualbox+vagrant安装
mac下virtualbox+vagrant安装 1.安装VirtualBox VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包 图1 2.安装并使用Vagrant 1)Va ...
- Mac 下抓包工具安装使用
Mac下抓包 阅读目录 1.安装XQuartz 2.安装Wireshark 3.启动Wireshark 4.选择网卡,开始抓包 5.监听抓取802.11无线帧 6.通过RVI抓取iPhone数据包 7 ...
最新文章
- AI 框架部署方案之模型部署概述
- 北理工校友发明文言文“填词大师”,断句、造词都能做,高考文言文满分靠它了...
- 模拟线程切换 C++
- Python标准库03 路径与文件 (os.path包, glob包)
- 简单的外壳(shell)
- MSMQ(MicroSoft Message Queue,微软消息队列)
- JAVA入门级教学之(方法内存分配机制)
- c语言由声明部分,C语言期末复习.doc
- 简洁大气带进度条的URL跳转页面HTML源码
- java string char数组_String在Java中真的是不可变吗?
- mstsc远程桌面全频或自定义窗口
- Andriod 对号错号
- 11种免费获取SSL证书的方式
- java.net.UnknownHostException: localhsot
- [css选择器] 后代选择器
- 简单概括 文明进化的各个阶段 (39)
- 图(Graph)详解 - 数据结构
- 【kafka】-入门篇
- 安装系统正在为首次使用计算机ghost,win7系统安装程序显示正在为首次使用计算机做准备的解决方法...
- android源码 meizhi,74款安卓和IOS app源码地址