kilroyweb/homeboy

此包的最新版本(1.1.2)没有可用的许可证信息。

用于自动化Laravel Homestead网站的工具

1.1.2 2017-08-23 19:20 UTC

README

用于自动化Laravel Homestead网站的工具。通过一条命令,Homeboy 就能

  • 使用 composer 在新目录中安装 Laravel(或另一个项目包)
  • 更新主机文件,将开发域名指向 Homestead IP
  • 更新 Homestead.yaml 文件以包含您的项目
  • 更新 Homestead.yaml 文件以创建项目的数据库
  • 重新配置 Vagrant

您还可以使用 homeboy 配置非 Laravel 网站!

目录

要求

在您的本地(非 Homestead)机器上,Homeboy 需要

  • Git
  • PHP
  • Composer

安装

作为全局 composer 包安装

composer global require "kilroyweb/homeboy" dev-master

请确保将 $HOME/.composer/vendor/bin 目录(或您的操作系统的等效目录)添加到您的 $PATH 中,以便系统可以定位到 laravel 可执行文件。

安装完成后,您可以在系统上的任何位置使用 homeboy 命令。

运行设置命令以生成 .env 文件

php homeboy setup

使用 git clone 安装

  • 在您的本地机器上,克隆 Homeboy
cd ~
git clone https://github.com/kilroyweb/homeboy.git homeboy
  • 在 homeboy 目录中,运行 composer
cd homeboy
composer install

运行设置命令以生成 .env 文件

php homeboy setup

到此为止,您应该能够在目录中使用命令运行 homeboy

php homeboy
  • 创建别名以从任何目录运行 homeboy

在 mac(在 ~/.bash_profile 中)添加

alias homeboy='php ~/homeboy/homeboy'

在 windows 上,可以使用类似 Cmder(http://cmder.net)的工具添加别名

homeboy=php C:\Users\[USER]\homeboy\homeboy $*

请确保根据 homeboy 的安装位置编辑路径

设置配置

运行 homeboy setup 后,您应该在 homeboy 目录中找到一个包含一些默认设置的 .env 文件。

根据您的特定设置,这些选项可能需要更新,以下列出每个可设置项的详细信息

USE_COMPOSER

确定 homeboy 是否应创建新的 composer 项目的默认选项

USE_COMPOSER=true

DEFAULT_COMPOSER_PROJECT

创建 composer 项目时使用的默认包

DEFAULT_COMPOSER_PROJECT=laravel/laravel

DEFAULT_FOLDER_SUFFIX

托管新项目时,nginx 会将其定义为文档根的默认目录。对于 Laravel 项目,默认情况下这是 "/public"

DEFAULT_FOLDER_SUFFIX=/public

DEFAULT_DOMAIN_EXTENSION

创建开发域名时,当生成域名时默认提供的域名后缀

DEFAULT_DOMAIN_EXTENSION=.app

HOSTS_FILE_PATH

homeboy 添加新项目时要使用的本地 hosts 文件的位置

此文件需要调整权限以便 homeboy 可编辑

HOSTS_FILE_PATH=/etc/hosts

HOMESTEAD_HOST_IP

分配给您的 Homestead 虚拟机的 IP 地址。这通常可以在您的 Homestead.yaml 文件中找到

HOMESTEAD_HOST_IP=192.168.10.10

HOMESTEAD_FILE_PATH

您的 Homestead.yaml 文件的位置。当创建新项目时,Homeboy 将更新此文件的站点列表和数据库列表

HOMESTEAD_FILE_PATH=/Users/Username/Homestead/Homestead.yaml

HOMESTEAD_SITES_PATH

您的 Homestead 虚拟机中网站的根路径

HOMESTEAD_SITES_PATH=/home/vagrant/Code/

HOMESTEAD_BOX_PATH

您的 Homestead 目录的路径

HOMESTEAD_BOX_PATH=/Users/Username/Homestead

LOCAL_SITES_PATH

您在本地机器上存储项目的路径。当运行 "composer create-project ... " 时,Homeboy 将 cd 到此目录

LOCAL_SITES_PATH=/Users/Username/Code

家庭宿主访问目录命令

在Windows中,如果您在另一驱动器上运行Homestead,在cd到您的目录之前可能需要额外的命令来切换驱动器。

此选项将导致Homeboy忽略以下选项:家庭宿主盒子路径

HOMESTEAD_ACCESS_DIRECTORY_COMMAND="cd /d D: && cd /Homestead"

本地站点访问目录命令

类似于家庭宿主访问目录命令,在Windows中,如果您的根项目目录在另一个驱动器上,在cd到您的目录之前可能需要额外的命令来切换驱动器。

此选项将导致Homeboy忽略以下选项:本地站点路径

ACCESS_LOCAL_SITES_DIRECTORY_COMMAND="cd /d D: && cd /Code"

Homeboy 命令

主机

homeboy host

因为这是默认命令,您可以通过简单地运行以下命令来运行host

homeboy

运行此命令将自动化创建新composer项目、更新hosts文件和vagrant文件的任务,在为新网站提供时

当命令运行时,它会提示输入站点目录名称、数据库名称和开发url以更新所需文件,然后提供vagrant

已添加一些选项来加快命令。然而,因为“homeboy”命令只是“homeboy host”的快捷方式(允许我们将来添加更多命令),选项仅在调用“homeboy host”时才起作用,而不仅仅是“homeboy”。

一些可用的选项

  • --use-defaults:在提供时自动接受默认值
  • --skip-confirmation:在运行任务之前自动确认
  • --name:要创建项目的目录名称
  • --database:要添加到homestead的数据库
  • --domain:开发域名

以下示例将自动运行所有任务而无需任何提示

homeboy host --name=my-project --use-defaults --skip-confirmation

Vagrant

Homeboy还包含“vagrant:run”命令,允许您快速运行任何vagrant命令而无需cd进入该目录,即

homeboy vagrant:run status

文件

通过运行以下命令快速查看文件内容

homeboy file hosts

homeboy file homestead

域名

域名命令允许您快速将新域名记录添加到hosts文件。

homeboy domain

Composer

composer:create-project命令提示您运行“composer create-project [composer-project] [project-name]”命令的详细信息

homeboy composer:create-project

故障排除

hosts文件不可写

您的hosts文件需要由homeboy可写。在许多情况下,可以使用以下命令解决问题

sudo chmod 664 /etc/hosts

这可能会根据您的平台/环境而有所不同

Homeboy在我的当前目录中运行composer install,而不是我定义的LOCAL_SITES_PATH

在Windows中,这是常见原因之一,当LOCAL_SITES_PATH在homeboy命令运行的不同驱动器上时。由于Windows必须首先切换驱动器才能cd进入目录,因此您可以使用“本地站点访问目录命令”来覆盖homeboy访问此目录的方式。例如

ACCESS_LOCAL_SITES_DIRECTORY_COMMAND="cd /d D: && cd /Code"

Vagrant返回“A Vagrant environment or target machine is required to run this command”

当Homeboy在运行vagrant命令时无法cd进入正确的vagrant目录时,将显示此消息。请验证您的“家庭宿主盒子路径”值,以确保其正确。

在Windows中,如果您的家庭宿主盒子路径在您运行homeboy命令的驱动器上,您可能需要添加“家庭宿主访问目录命令”来在访问目录时添加任何额外命令(如切换驱动器)。例如

HOMESTEAD_ACCESS_DIRECTORY_COMMAND="cd /d D: && cd /Homestead"