1. 程式人生 > >laravel homstead開發環境構建

laravel homstead開發環境構建

Laravel環境的搭建

Laravel以其優雅性著稱,借鑑了Rails。Homestead 是 Laravel 官方推薦的開發環境, Laravel 希望在 Vagrant 的基礎上讓開發環境更加統一,讓開發者都能在指定的具體開發環境下使用 Laravel,這時便有了 Homestead。

Homestead是什麼?

Homestead 是一個基於 Ubuntu 構建的虛擬機器,它包含了所有 Laravel 開發時需要用到的東西,你可以很輕鬆的通過指定的 Laravel 版本來找到相對應版本的 Homestead 並進行安裝。Homestead 提供的預設開發環境還會裝上很多常用的開發工具來輔助 Laravel 進行專案開發,包括 PHP7, Nginx, Redis, Memcached, MySQL, Git, Node.js, NPM 等等。

Homestead的好處

Homestead 統一了環境,避免歧義;統一環境帶來的好處還有:

  1. 最大程度接近線上生產環境;
  2. 這是最佳實踐,是需要從一開始培養起來的好習慣。

vagrant是什麼?

Vagrant是基於虛擬機器基礎上以一種簡單工作流構建和管理你的開發環境。主要目的是:
1. 減少開發時間構建;
2. 增加產品迭代;

官方文件:
這裡寫圖片描述

Homestead安裝

Homestead 包含了兩個東西:

  1. Homestead 管理指令碼;
  2. Homestead Box 虛擬機器盒子;

首先介紹Homestead Box 虛擬機器盒子:

homestead.box 虛擬機器盒子是提前打包好的 Vagrant Box 虛擬機器盒子,裡面預裝了 Nginx Web 伺服器、PHP 7.0、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 開發時所需要用到的各種軟體。

首先通過vagrant cloud官方地址查詢:
這裡寫圖片描述

可以看到homestead排名很高。

如何載入一個box,通過如下命令:

vagrant box add laravel/homstead

詳細的vagrant box command可見官方文件

執行命令後會見如下:

vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://vagrantcloud.com/laravel/homestead
This box can work with
multiple providers! The providers that it can work with are listed below. Please review the list and choose the provider you will be working with. 1) hyperv 2) parallels 3) virtualbox 4) vmware_desktop Enter your choice: 3 ==> box: Adding box 'laravel/homestead' (v5.1.0) for provider: virtualbox box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/5.1.0/providers/virtualbox.box box: Progress: 0% (Rate: 30987/s, Estimated time remaining: 21:48:20)^C==> box: Waiting for cleanup before exiting... ==> box: Box download was interrupted. Exiting. The box failed to unpackage properly. Please verify that the box file you're trying to add is not corrupted and that enough disk space is available and then try again. The output from attempting to unpackage (if any): x Vagrantfile x box.ovf x metadata.json x ubuntu-16.04-amd64-disk001.vmdk: truncated gzip input bsdtar: Error exit delayed from previous errors.

由於國內下載速度太慢,無法忍受,所以主動中斷了下載。

該怎麼辦呢?網路上多數文章都指出在國內,非常推薦大家都直接使用本地 box 的方式安裝 Laravel homestead:下載地址
但是按照網路上多數文章的指示發現:下載地址無法下載!!!!
這裡寫圖片描述

看提示很有可能是資源被移走了,或者是一般使用者沒有許可權訪問,或者是homestead資源的所有者沒有繳費。瞬間明白現實是多麼殘酷!

回頭仔細看執行命令,發現有驚喜!!!

box: Adding box 'laravel/homestead' (v5.1.0) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/5.1.0/providers/virtualbox.box
    box: Progress: 0% (Rate: 30987/s, Estimated time remaining: 21:48:20)^C==> box: Waiting for cleanup before exiting...
==> box: Box download was interrupted. Exiting.

存在一個地址:

https://vagrantcloud.com/laravel/boxes/homestead/versions/5.1.0/providers/virtualbox.box

這個就是下載地址,可以利用迅雷等工具下載,筆者直接翻牆下載了。

回過頭來看box頁面中詳細資訊:
這裡寫圖片描述

如何使用這個盒子,按命令執行:

vagrant init laravel/homestead
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
richarddeMBP:test richard$ ls
Vagrantfile
richarddeMBP:test richard$ 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
==> default: Loading metadata for box 'laravel/homestead'
    default: URL: https://vagrantcloud.com/laravel/homestead
==> default: Adding box 'laravel/homestead' (v5.1.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/5.1.0/providers/virtualbox.box
==> default: Box download is resuming from prior download progress

可以看到關鍵資訊:

Loading metadata for box 'laravel/homestead'
default: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/5.1.0/providers/virtualbox.box

這就證明了我們之前的下載地址是正確的。

對比發現兩種方式,同樣都是能載入homestead box,
第二種方式中出現了

Loading metadata for box 'laravel/homestead'

這也就是為什麼網路上很多文章提供的本地載入box的壓縮包中有一個metadata.json,大膽猜測這背後邏輯是通過metadata.json指明box的url。

vagrant box add metadata.json

過程如下:

richarddeMBP:lt-homestead-3-0-0-2017082400 richard$ vagrant box add metadata.json
==> box: Loading metadata for box 'metadata.json'
    box: URL: file:///Users/richard/Downloads/lt-homestead-3-0-0-2017082400/metadata.json
==> box: Adding box 'laravel/homestead' (v3.0.0) for provider: virtualbox
    box: Downloading: homestead-virtualbox-3.0.0.box
==> box: Successfully added box 'laravel/homestead' (v3.0.0) for 'virtualbox'!

檢查box 安裝情況:

執行如下命令:

vagrant box list
richarddeMBP:lt-homestead-3-0-0-2017082400 richard$ vagrant box list
laravel/homestead  (virtualbox, 3.0.0)
lookfwd/scrapybook (virtualbox, 1.0.0)

laraval homstead box就安裝完畢,接下來就是homstead指令碼安裝。

下載 Homestead 管理指令碼

homestead 官方地址, 執行如下命令:

git clone [email protected].com:laravel/homestead.git

進入 homestead目錄,目錄如下:
這裡寫圖片描述

執行

bash init.sh
richarddeMBP:homestead richard$ bash init.sh
Homestead initialized!
richarddeMBP:homestead richard$ ls
CHANGELOG.md        after.sh        composer.lock       readme.md       tests
Homestead.yaml      aliases         init.bat        resources
LICENSE.txt     bin         init.sh         scripts
Vagrantfile     composer.json       phpunit.xml.dist    src
richarddeMBP:homestead richard$ 

執行以上命令後,會在 ~/Homestead 目錄下生成以下三個檔案:

Homestead.yaml - 主要配置資訊檔案,我們可以在此檔案中配置 Homestead 的站點和資料庫等資訊;
after.sh - 每一次 Homestead 盒子重置後(provision)會呼叫的 shell 指令碼檔案;
aliases - 每一次 Homestead 盒子重置後(provision),會被替換至虛擬機器的 ~/.bash_aliases 檔案中,aliases 裡可以放一些快捷命令的定義。

Homestead.yaml配置檔案

Homestead.yaml裡的配置大致可以分為以下幾種:

虛擬機器設定;
SSH 祕鑰登入配置;
共享資料夾配置;
站點配置;
資料庫配置;
自定義變數;

相關推薦

laravel homstead開發環境構建

Laravel環境的搭建 Laravel以其優雅性著稱,借鑑了Rails。Homestead 是 Laravel 官方推薦的開發環境, Laravel 希望在 Vagrant 的基礎上讓開發環境更加統一,讓開發者都能在指定的具體開發環境下使用 Laravel,

Ubuntu16.04之開發環境構建

mysql dnf 環境 彈出 PE maven 3.2 rpv pro Ubuntu軟件安裝相對於centos而言,那真的是要愉快的多啊! 以下安裝步驟,本人在公司的測試環境和開發環境以及之前個人虛擬機的測試或生產環境都測驗過,基本沒有問題,只要按照步驟來,即可馬到成

Laravel 虛擬開發環境 Homestead

linu 配置 快速 將在 ios profile 本質 func mysql 數據庫 簡介 Laravel 致力於讓你在 PHP 開發過程中更加輕松愉快,這其中也包括本地開發環境的搭建。 Vagrant 提供了一種簡單、優雅的方式來管理和配置虛擬機。 Laravel

Ubuntu下Laravel開發環境安裝及部署(Vagrant + Homestead)

2018-2-6 更新 注意! laravel/homestead box專案地址已經不再是原來的 https://atlas.hashicorp.com/laravel/boxes/homestead,而已經變更成 https://app.vagrantup.com/laravel/

Laravel-Homestead 開發環境搭建 for Windows

1.百度網盤下載安裝 Git(2.16.1.4) ,Vagrant(2.2.20),Virtual Box(5.2.20) ,迅雷下載Homestead 虛擬機器盒子(lc-homestead-6.1.1-2018090400.zip). 2.解壓下載的虛擬機器盒子到任意一個目錄,我放在了

ffmpeg開發環境構建

一、相關資源介紹 本文主要講述linux平臺x86(及x86-64)架構下的ffmpeg編譯安裝過程。 其他嵌入式平臺需要交叉編譯,過程類似,不詳述。 本實驗在opensuse和ubuntu兩個平臺作了驗證。使用lsb_release -a命令檢視系統發行版版本: opensuse平臺版本:openSUSE

Win10下配置一個Laravel開發環境

下載安裝WampServer3.1.4 安裝Composer,在安裝過程中選擇wampserver目錄下bin/php7.2版本(Laravel需要7.1.3以上的php) 建立目錄www/laravel作為Laravel專案目錄 進入命令列方式 在www/laravel目錄中執行composer

1.App Inventor開發環境構建

SDK更新 http://googleappengine.googlecode.com/files/appengine-java-sdk-1.7.5.zip 舉例:(1)開啟x/appinventor,找到startAI.cmd,右鍵編輯,找到set AEJSK=..\appengine-java-s

win10 下 Laravel 虛擬開發環境 Homestead 安裝教程

一、使用Homestead的理由         1、Homestead 是一個官方預封裝的 Vagrant Box,內建 Ubuntu 16.04、Git、PHP 7.1、Nginx、MySQL、Composer、Redis、Memcached等一系列軟體,無需在本地安裝

學習筆記之STM32F429 Discovery開發環境構建

STM32F429 Discovery開發環境的構建包含如下4個大的步驟。1.安裝你喜歡的整合開發環境(IDE)主要有EWARM ,MDK-ARM ,TrueSTUDIO等這裡以MDK-ARM為例。注意STM32F429需要MDK-ARM 4.72或以後版本,這裡以目前最新

前端開發環境 & 構建工具

1.babel —— 語法轉換工具 Babel 通過語法轉換器支援最新版本的 JavaScript 。 這些外掛允許你立刻使用新語法,無需等待瀏覽器支援。 - 安裝 node 環境,執行 npm init,建立 package.json 檔案 - 安裝

OpenWRT實踐1:開發環境構建

序言無線路由器目前已經可以做很多的功能了,相應的擴充套件資源也越來越多。其中大部分都是直接基於OpenWRT平臺直接進行開發的。筆者之前一直介紹的都是一些協議的理論知識,目前也更新一些筆者關於SDWN(Software Defined Wireless Networking)

GO語言學習-基礎開發環境構建

com watermark windows 安裝文件 9.1 any 安裝 cto bdb 一、GO 下載安裝GO語言可以運行在Windows、MAC、Linux等平臺,我這邊是Windows10 x64平臺(建議:大家windows使用.msi安裝文件,msi文件會自動配

Laravel for Windows 開發環境配置

let osi host func replace sys 模型 _id span 本文為CSDN Choris 原創,轉載請事先征得作者同意,以示尊重! 原文:http://blog.csdn.net/choris/article/details/50215835 L

vue.js:搭建開發環境構建項目

ini cnpm 直接 人在 mod 不發送 package 3.0 mage 發環境的搭建 安裝node.js 直接下一步就好, 註意安裝的位置 Node.js官網:https://nodejs.org/en/ 驗證Node.js是否安裝好,在windows下,wi

vue.js2.0:如何搭建開發環境構建項目

包管理器 webp data- header 開發環境 mage all ins 點擊 1,安裝node.js Node.js官網:https://nodejs.org/en/ 進入Node.js官網,選擇下載並安裝Node.js。安裝過程只需要點擊“下一步”即可, 如下圖

搭建Laravel項目集成開發環境簡明教程

PHP Web開發 Laravel PhpStorm Composer phpRE+Composer+PhpStorm+Laravel安裝與配置 既然人生苦短,我們還是盡量不要浪費大家的寶貴時光。你可能體驗了“著名的WordPress五分鐘建站”,下面你即將體驗到的是從沒有搭建PHP運行開

iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 開發環境

總結 string 站點 provider 文字 rate 同步 目錄 use 統一開發環境 為了保證在學習和工作過程中避免因為開發環境不一致而導致各種各樣的問題,Laravel 官方為了我們提供了一個完美的開發環境 Laravel Homestead,讓我們無需再本地安裝

laravel 開發環境之 laragon

支持 開發 官方 server 安裝 laravel 方案 開發環境 折騰 在windows下開發laravel ,用什麽開發環境?一直用官方建議的Homestead,挺折騰人的,不過還是搞定了所有的大坑小坑。真正用時,感覺不好了,慢!聽說裝 nfs什麽的可以加速,發現它不

RT-Thread學習筆記(一)—— 初識RT-Thread,構建開發環境

clas 在線 figure 命令行 soft mon 沒有 手機 暑假 學習單片機一年多以來一直是裸機編程玩外設,只是聽說過操作系統的神奇,沒有時間學習,之前深入了解了單片機底層知識,了解了微機工作原理和51的匯編指令,為學習操作系統打下基礎,而且這個暑假剛剛參加完電賽