如何统一开发环境?

未匹配的标注
本文档最新版为 9.x,旧版本可能放弃维护,推荐阅读最新版!

如何统一开发环境?

在日常的团队开发中,由于开发环境的不一致,往往会导致出现各种各样的问题。即便是经验丰富的工程师,在遇到这种问题时也会特别头疼。为了解决这种问题,Vagrant 顺势而生!Vagrant 是一个用于创建和部署虚拟化开发环境的工具,其依赖于 VirtualBox 虚拟机,致力于帮助开发者快速构建一个环境统一的虚拟系统。Vagrant 最强大的地方是在于它在构建虚拟系统时的快捷简便,使开发者可以在短短几分钟内完成一个虚拟系统的删除与构建。

Laravel 希望在 Vagrant 的基础上让开发环境更加统一,让开发者都能在指定的具体开发环境下使用 Laravel,这时便有了 Homestead。Homestead 是一个基于 Ubuntu 构建的虚拟机,它包含了所有 Laravel 开发时需要用到的东西,你可以很轻松的通过指定的 Laravel 版本来找到相对应版本的 Homestead 并进行安装。Homestead 提供的默认开发环境还会装上很多常用的开发工具来辅助 Laravel 进行项目开发,包括 PHP7, Nginx, Redis, Memcached, MySQL, Git, Node.js, NPM 等等。或许你对这里提到的一些专有词汇所涉及到的知识并不太了解,但是别担心,这些我们在后面章节都会作相关介绍。

可以不使用 Homestead 吗?

不可以。

Homestead 是 Laravel 官方推荐的开发环境。在本书里,我们会强制读者使用 Homestead,原因主要有以下:

  • Homestead 是本书很重要的技能点之一,学完此书,你必须学会 Homestead;
  • Homestead 统一了环境,避免歧义,减少新手在学习中遇到不必要的卡顿;
  • 统一环境带来的好处还有:当你遇到问题的时候,其他同学能很容易的帮助到你;
  • 最大程度接近线上生产环境,为后续的课程做铺垫;
  • 这是最佳实践,是需要从一开始培养起来的好习惯。

在现实的 Laravel 项目开发中,比较正经的团队都会把 Homestead 当做绝对的开发环境要求。你在此处学完 Homestead,是一劳永逸的事情。

因为 Homestead 有以上优点,我们会竭力为 Homestead 的学习扫清障碍。本书作者甚至为读者定制了专属的 Homestead 环境,定制版的 Homestead 环境预装了必须的软件,软件的配置也依照国内网络环境做了优化,如配置了 NPM 和 Composer 国内镜像加速等。

需要郑重提醒的是:你必须使用『定制版的 Homestead』,你如果在 非定制版 Homestead 环境下、或者其他开发环境下遇到问题,我们将不会为你解答。原因是变量太多了,我们无法擅长所有系统以及各种版本软件搭配会出现的问题。最重要的,人生苦短,熟知这些 Bug,并没有意义。推荐阅读 为什么你一定要使用 Homestead 来开发 Laravel 应用?

接下来我们会分别为你讲解 Windows 和 Mac 下的开发环境部署,请你根据系统类型选择阅读,使用 Ubuntu 的同学请参考 Mac 版的进行部署。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
Summer
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4
发起讨论 只看当前版本


FixBug
大家觉得 docker 和 Homestead 哪个用起来更好?
0 个点赞 | 17 个回复 | 问答 | 课程版本 5.7
jiangxiulong
定制版的 Homestead 是啥意思?
0 个点赞 | 3 个回复 | 分享 | 课程版本 6.x
qujsh
类似 Homestead 这样的环境,能直接部署到线上环境吗?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
FakeSPrite
Homestead 和 Vagrant 的关系是什么呢?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5