Laravel开发环境Homestead的搭建

Laravel为我们提供了Homestead重量级的开发环境,本文简单记录一下在Windows系统中的配置流程以及踩过的一些坑。

搭建开发环境

首先需要安装 VirtualBox 、Vagrant 和 Git,并且确保本机中已经生成了 SSH Key。

导入定制版的 Homestead Box 虚拟机盒子

下载解压后来到盒子的目录下执行:vagrant box add metadata.json

定制版特点:

  • Composer 加速,配置了 Composer 中国全量镜像 支持;
  • 默认集成 Heroku 工具;
  • 默认集成 Yarn,并为 Yarn 加了淘宝镜像的加速;
  • 使用 CNPM 对 NPM 进行加速。

下载 Homestead 管理脚本

git clone https://git.coding.net/summerblue/homestead.git Homestead
cd ~/Homestead
git checkout v7.8.0
bash init.sh

因国内网络限制,定制版本的 Homestead 脚本从国内 coding.net 网站下载,下载速度会比 官方 更快;对脚本进行修改,移除了每一次 provisioncomposer self-update 的卡顿。

配置 Homestead

根据情况修改Homestead.yaml里的配置,注意在key选项添加一行公钥:

keys:
    - ~/.ssh/id_rsa
    - ~/.ssh/id_rsa.pub

不要忘记到 hosts 文件中添加一行Laravel测试域名和虚拟机IP的解析规则。

如果需要在局域网内来访问虚拟机中的项目,需要增加networks配置项,必须配置同网段的公网ip:

networks:
    - type: "public_network"   
      ip: "192.168.1.101"     
      bridge: "en1: Wi-Fi (AirPort)"

运行虚拟机

  • 来到Homestead目录,开启虚拟机:vagrant up

  • 如果修改过 Homestead.yaml,则执行:vagrant up --provision

  • 登录进虚拟机:vagrant ssh

如果虚拟机无法启动,可能是由于Windows没有开启虚拟化技术,到BIOS里面设置一下就好。

vagrant 常用命令:

  • vagrant box list

  • vagrant box add xxx xxx.box

  • vagrant init

  • vagrant up

  • vagrant halt

  • vagrant reload

  • vagrant ssh

  • vagrant package --output xxx.box

初始化 Laravel 项目:

composer create-project laravel/laravel Laravel --prefer-dist "5.5.*"

配置 npm 国内镜像:

npm config set registry http://registry.npm.taobao.org/
npm config set sass-binary-site http://npm.taobao.org/mirrors/node-sass

安装依赖:

npm install --no-bin-links

如果是在Mac系统上开发,无需加参数 --no-bin-links

常见问题

以上步骤成功之后 Laravel 项目就可以跑起来了,但是如果采用的是Windows系统,直接在虚拟机中执行 npm install 很可能会报一大堆错误,或者安装成功但编译也会报错,也许是版本不兼容,虚拟机自带Node环境为:

  • node v8.11.2
  • npm v6.1

解决方法如下:

1、回退npm的版本到v5.7.1:sudo npm install -g [email protected]

也许升级node版本也可以,未测试过。

2、删除 package.json 文件里面的开发依赖项:cross-env

3、安装:npm install --no-bin-links

4、全局安装 cross-env:sudo npm install -g cross-env

5、运行 npm run dev,就可以看到编译成功了!

你可能感兴趣的:(Laravel开发环境Homestead的搭建)