Win10下超详细搭建Laravel Homestead工作环境

laravel官方推荐的Homestead工作环境,安装简单,使用方便,推荐给使用laravel开发项目的程序猿。

本机操作系统:64位Win10

▧ 一:前期工作:软件准备(下载)

1:虚拟机,推荐免费的 VirtualBox 5.1,官网下载地址  | 百度网盘(密码24es)

2: Vagrant,官网下载地址 |  百度网盘(密码uak6)

3: git, 官网下载地址 | 百度网盘(密码)


4: Homestead,代码托管在 https://github.com/laravel/homestead

说明: Homestead不是一个软件,是laravel开发一个小项目,基于php,c,ruby.,js开发的。
安装方式有2 种,1是直接在github下载zip后解压到合适的位置,2是git克隆

5: vagrant的一个盒子叫做 homestead box

安装方式2种,1是在线安装(在国内此方法太慢,不适用)2是下载盒子后离线安装(推荐)

官网下载:https://app.vagrantup.com/boxes/search中搜索Homestead,最新版本是4.0.0

下载地址是: https://vagrantcloud.com/laravel/boxes/homestead/versions/4.0.0/providers/virtualbox.box


▧ 二:盒子安装

1: 安装 VirtualBox, vagrant, git

2: 盒子安装

a:新建安装配置文件0000.json
内容如下
{
    "name": "laravel/homestead",

    "versions": [{
        "version": "4.0.0",
        "providers": [{
            "name": "virtualbox",
            "url": "04_homesteadbox400"
        }]
    }]
}

b: 将盒子安装配置文件0000.json和盒子04_homesteadbox400,放在同一个文件夹下,只要改文件夹不含中文就行,如放在E:/abc def/下(文件夹有空格也没关系)

说明1:0000.json是安装盒子时读取的盒子安装配置文件,名字任取,只要格式是json的就行了。
说明2:04_homesteadbox400是box文件,名字也可以改的
说明3:  配置文件和盒子文件最好放在同一个文件夹中,这两个文件在安装完后是可以删除的(此处改为:配置文件0000.json最好保留),所在文件夹名不能是中文,有空格可以,如E:/abc def/0000.json可以
说明4:盒子安装在用户目录C:\Users\用户名\.vagrant.d\boxes中,我的用户名是 Administrator
说明5:显示安装了哪些>vagrant box list,删除某个box命令是 C:\Users\Administrator>vagrant box remove laravel/homestead
说明6:如果不知道哪里下载box,请先用 vagrant box add laravel/homestead,会显示从哪里下载,因为在线下载实在太慢,可改用迅雷下载下来后改名为配置文件中指定的名字

Win10下超详细搭建Laravel Homestead工作环境_第1张图片

D:\homestead>vagrant box add 0000.json

▧ 三:homestead安装和配置

说明1: homestead是laravel开发的一个项目,托管在https://github.com/laravel/homestead,可以安装在任何位置,我喜欢安装在D盘的根目录下,可以下载zip文件解压也可以直接git clone安装

说明2: homestead的版本必须与下载的box版本一样,当前homestead的版本与box的版本是4.0.0

说明3: homestead不要放在有 “下划线或空格" 的文件夹下面,虚拟机在加载共享文件夹时会忽略

D:\www2018>git clone https://github.com/laravel/homestead.git

将homestead配置文件从D:\www2018\homestead\resources\Homestead.yaml拷贝到D:\www2018\homestead,也可执行init.bat自动拷贝

Win10下超详细搭建Laravel Homestead工作环境_第2张图片

D:\www2018\homestead>init

编辑配置文件Homestead.yaml


编辑文件C:\Windows\System32\drivers\etc\hosts


▧ 四:vagrant 启动

vagrant在启动时要读取它相应的配置文件 Vagrantfile,查找配置文件的顺序官网这样说: https://www.vagrantup.com/docs/vagrantfile/#lookup-path ,首先在当前项目中找,当前项目中没有就到父目录中找。但laravel/homestead项目中已经定义好了Vagrantfile了,是用ruby写的,这个文件会读取script中的文件,所以建议当前vagrant工作目录为Vagrantfile所在目录

另外要注意的是,一定要保证C盘有足够的空间

D:\www2018\homestead>vagrant up

最后补充一点就是,如果错误提示

 > Check your Homestead.yaml file, the path to your private key does not exist.

说明你电脑没有生成ssh密钥,要生成密钥,前提是你电脑安装了git,安装后在Git安装目录\usr\bin(我电脑上是D:\Program Files\Git\usr\bin)下有一个ssh-keygen.exe文件,执行这个文件就可以,

```

D:\Program Files\Git\usr\bin>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/qianjin.DESKTOP-GVP6V4L/.ssh/id_rsa):
Created directory '/c/Users/qianjin.DESKTOP-GVP6V4L/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/qianjin.DESKTOP-GVP6V4L/.ssh/id_rsa.
Your public key has been saved in /c/Users/qianjin.DESKTOP-GVP6V4L/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:6rY8ncNu8m2V8RRPfYrezEqsIG+Lsi3H0EVfXMsBIDk qianjin@DESKTOP-GVP6V4L
The key's randomart image is:
+---[RSA 2048]----+
|        ...o.oo .|
|        E.  o..o+|
|      . o . .o=.|
|        . . o o .|
|    . .S  o O  |
|    . o..  * =  |
|    o.= o + .  |
|    o+*.O.o .    |
|    .**O++.      |
+----[SHA256]-----+
```

会在当前用户目录/c/Users/today.DESKTOP-GVP6V4L/.ssh/(如果管理员登录是C:\Users\Administrator\.ssh)下面生成2个文件id_rsa和id_rsa.pub



常见问题

1: A VirtualBox machine with the name 'homestead-7' already exists.Please use another name or delete the machine with the existing name, and try again.

解决: 

    D:\03www2018\homestead>vagrant global-status
    id      name        provider  state    directory
    -----------------------------------------------------------------------------
    900a608  homestead-7 virtualbox running  D:/03_www2018/homestead
    48f672c  homestead-7 virtualbox poweroff D:/03www2018/homestead
    The above shows information about all known Vagrant environments
    on this machine. This data is cached and may not be completely
    up-to-date. To interact with any of the machines, you can go to
    that directory and run Vagrant, or you can use the ID directly
    with Vagrant commands from any directory. For example:
    "vagrant destroy 1a2b3c4d"

先使用vagrant box remove xxx 删除当前盒子,再vagrant global-status看有哪个虚拟盒子存在,使用vagrant destroy xx删除,再使用vagrant box add 0000.json的方式重新安装盒子

上面处理还是报错?
最终解决办法是使用VBoxManage来删除

D:\Program Files\Oracle\VirtualBox>VBoxManage list vms
"homestead-7" {84452234-fb51-48a5-bedd-72fda9e99664}
"virtualbox_default_1508157323631_85955_1509326648170_26616" {a12e995a-6193-4370-b06f-0f01b6a2fe08}

D:\Program Files\Oracle\VirtualBox>VBoxManage unregistervm homestead-7 --delete
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


你可能感兴趣的:(Win10下超详细搭建Laravel Homestead工作环境)