# laravel_install
laravel安装笔记:
工作环境:
ubuntu-15.10
1.安装vagrant(1.7.4), virtualbox(5.0.14)
vargrant: 是一个用于创建和部署虚拟化开发环境的工具,提供本地文件修改同步到虚拟化镜像等功能
$sudo apt-get install vagrant
$sudo apt-get install virtualbox
2.下载laravel/homestead的box文件并安装
--因为手动执行 $ vagrant box add aravel/homestead 特别慢,所以进行手动安装
--下载box: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.4/providers/virtualbox.box 这个是php7版的box
--添加box到vagrant
$vagrant box add aravel/homestead virtualbox.box
注意:这样添加之后,在从git上克隆下来的homestead文件夹下执行 $ vagrant up 时,会提示如下错误:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'laravel/homestead' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0.4.0
==> default: Loading metadata for box 'laravel/homestead'
提示未找到名叫 laravel/homestead'的box,为什么呢?是因为在homestead的配置文件中调用scripts/homestead.rb来检测
lavarel的一些依赖项,其中有这样一句:
config.vm.box_version = settings["version"] ||= ">= 0.4.0"
即: 默认情况下要求box的版本大于0.4.0;而我们手动通过下载的box文件直接加载时,版本号为,这个可以通过以下命令查看:
$ vagrant box list
结果:
laravel/homestead (virtualbox, 0)
可见版本号为0,所以不满足条件,提示没有找到符合条件的box.
处理方案:
在下载的box的同级目录添加metadata.json文件,将以下内容黏贴进去:
{
"name": "laravel/homestead",
"versions": [{
"version": "0.4.0",
"providers": [{
"name": "virtualbox",
"url": "file://homestead.box"
}]
}]
}
保存文件后执行以下命令:
$ vagrant laravel/homestead /path/to/box/metadata.json
$ vagrant box list
结果:
laravel/homestead (virtualbox, 0.4.0)
3.安装laravel/homestead项目并启动homestead的box
从git上下载laravel/homestead项目到本地
$ cd ~
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd Homestead
$ bash init.sh
$ sudo vagrant up