最近我在公司的新电脑配置新的开发环境,从而了解了一下在安装 Homestead
可能会出现的问题。
一开始用的是
win7
,但发现win7
中使用VirtualBox
会有不少兼容性
的问题。打开
VirtualBox
可能会出现code E_FAIL (0x80004005)
的错误。这个问题的解决方法就是
右键 > 属性 > 兼容性
将兼容性修改为XP
的。
在安装 laravel\homestead
盒子前提你需要安装好 Vagrant 和 VirtualBox。
下载 laravel\homestead
盒子问题
下载添加 laravel\homestead
有多种方式
第一种方式
这是最简单的方式下载:
vagrant box add laravel\homestead
当然默认下载的是最新的版本,如果你想指定你想下载的版本在上述命令行下加入 --box-version=版本号
即可下载对应的盒子版本。Homestead
的版本信息网址:https://atlas.hashicorp.com/laravel/boxes/homestead/
注意:这种下载安装方式是最直接的,但下载需要非常长的时间,至于什么原因,你懂的!
第二种方式
通过 Homestead
的下载网址下载 https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.4/providers/virtualbox.box
当然,如果你想下载指定版本可以通过修改 URL
中 versions
后的参数,如: .../versions/0.4.0/...
。
注意:通过网址下载
virtualbox.box
千万不要用迅雷下载,用迅雷下载的一般都不能用。
这里你可以通过浏览器下载,获取其他下载器来下载。而我是通过另外一种方式:
第一步:通过国外的服务器 wget https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.4/providers/virtualbox.box
下载 virtualbox.box
速度非常快,可达到10多M一秒;
第二步:通过 scp(ssh copy)
来将 virtualbox.box
拷贝到本地电脑。在本地电脑运行:
#scp root@ip:file file
scp root@192.168.10.10:virtualbox.box virtualbox.box
当然 scp
到本地电脑要看你的网速。
第三种方式
就是通过下载别人上传到百度云盘的资源了,或许这避免了大部分的麻烦,这是PHPHub的Summer大神上传的资源http://pan.baidu.com/s/1hrN55w4。
安装已下载的盒子
如果你是通过上述 第一种方式 下载,就不用自己手动添加到 vagrant
中了。以下安装盒子教程主要是针对手动下载 virtualbox.box
的人,这里提供两种方式。
第一种方式
在 virtualbox.box
的目录,直接运行:
#vagrant box add source
vagrant box add virtualbox.box
这种直接将 virtualbox.box
的结果是:
vagrant box list #查看box列表
laravel/homestead (virtualbox, 0) #出现的结果
对,没错,这样的结果就是 laravel/homestead
没有正确的版本号,这时如果你直接运行 vagrant up
的时候也会直接跳到下载最新版的盒子。
解决方法:
在你的 Homestead
项目下修改 Vagrantfile
文件,加入如下配置:
config.vm.box = "laravel/homestead" #box的名字(需与盒子列表中的一致)
config.vm.box_version = "0" #box的版本号(需与盒子列表中的一致)
config.vm.box_check_update = false #box是否检查更新
然后 vagrant up
即可。
第二种方式
通过创建一个 metadata.json
文件,文件内容如下:
{
"name": "laravel/homestead", //盒子名称
"versions":
[
{
"version": "0.4.4", //版本号
"providers": [
{
"name": "virtualbox",
"url": "virtualbox.box" //盒子所在路径
}
]
}
]
}
然后
vagrant box add metadata.json
即可添加带有版本号的盒子,可通过 vagrant box list
查看, 最后通过 vagrant up
即可载入开启虚拟机。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。