1

最近我在公司的新电脑配置新的开发环境,从而了解了一下在安装 Homestead 可能会出现的问题。

一开始用的是 win7 ,但发现 win7 中使用 VirtualBox 会有不少 兼容性 的问题。

打开 VirtualBox 可能会出现 code E_FAIL (0x80004005) 的错误。

这个问题的解决方法就是 右键 > 属性 > 兼容性 将兼容性修改为 XP 的。

在安装 laravel\homestead 盒子前提你需要安装好 VagrantVirtualBox

下载 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

当然,如果你想下载指定版本可以通过修改 URLversions 后的参数,如: .../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 即可载入开启虚拟机。


jcc
523 声望100 粉丝