Homestead 安装问题汇总
问题描述
大部分情况下,Homestead 的安装是非常简单的,我就基本上没遇到过问题。然而如果你遇到 vagrant up 后卡在 SSH auth method: private key 的情况,你可以按照以下清单进行排查。
这里假设你按照 这个课程 安装,使用的是 VirtualBox。
卡顿大概是这样的:
E:\Program Files\Homestead>vagrant up
.
.
.
homestead: SSH address: 127.0.0.1:2222
homestead: SSH username: vagrant
homestead: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
.
.
.
1. 检查 SSH Key 填写是否正确?
实现 SSH 免密码登录的是 authorize 选项:
authorize: ~/.ssh/id_rsa.pub
请确定 ~/.ssh/id_rsa.pub 文件是否存在,否则按照这里从新 生成一遍 SSH Key。
2. 重新生成 insecure_private_key
在 Homestead 文件夹下执行:
> vagrant ssh-config
会输出:
Host homestead-7
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile D:/Homestead/.vagrant/machines/homestead-7/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
移除 IdentityFile 选项里的文件 D:/Homestead/.vagrant/machines/homestead-7/virtualbox/private_key
重新运行 vagrant up(vagrant 会生成一个新 insecure_private_key 文件)。
3. 修改 VirtualBox 虚拟机的网卡
- 在 VirtualBox 软件界面里确保 homestead-7虚拟机完全关机;
- 右键 homestead-7 虚拟机,选择『设置』;
- 选择『网络』;
- 在 'Adapter 1' 栏目下,展开『高级选项』;
- 打钩『连接网线』;
- 保存设置,vagrant up --provision
- 然后 vagrant reload 重新加载虚拟机。
4. 在 BIOS 中开启虚拟化技术支持
进入 BOIS,将 intel virtual technology 设置为 enable。
参考:
xx. 重来一遍
将 VirtualBox ,Vagrant 和 Homestead 完全删除。重新下载 最新版 的所有软件,然后重头到尾再安装一遍。
xxx. 换个电脑
Homestead 安装不成功有些时候是系统和硬件导致的,家里有多台电脑的话,可以换着试试看。考虑重新买电脑的同学,如果你是下定决心要以编程为职业的,推荐 Mac OS 系统的电脑。
预算可以的话 RMBP ,预算较少也可以考虑 Mac Mini。
结语
虚拟化技术会让你的职业生涯受用无穷,作为一名优秀的开发者,基本上离不开虚拟化。同学们要有『不行就使劲折腾到行』的决心。