【发布时间】:2018-04-17 06:28:01
【问题描述】:
我尝试使用 Laravel 和 Homestead 创建一个干净的项目,这样如果有人下载我的项目,只需要一个 vagrant up 就可以了……看起来像是悖论,或者我做错了什么。
- 我新建了一个 laravel 项目目录
- 我运行
composer require laravel/homestead --dev来安装宅基地。 - 我收到需求错误,因为 composer.json 已经从 laravel 创建,它需要来自 VM 的需求
- 我可以在宅基地虚拟机中执行
composer install - 但是 homestead 虚拟机不存在,因为我无法安装 homestead
让宅基地工作但不是正确的工作流程:
- 我在 laravel 目录之外做了一个
composer require laravel/homestead --dev,我在 laravel 项目目录中复制了 homestead 文件 -
vagrant up来自 laravel 目录 -
虚拟机中的
composer install(这会删除所有的宅基地文件,因为宅基地不在composer.json中)
这看起来不对,将宅基地添加到 laravel 项目中的正确方法是什么?
【问题讨论】:
-
概念错了。您应该像其他人一样创建宅基地虚拟环境。然后,在您的虚拟系统操作系统中,您将创建 Laravel 项目。然后你可能只想分享你的 Laravel 项目的 composer.json/composer.lock 文件。但最好的方法是使用 git/github/bitbucket 共享项目。
-
我参考文档:laravel.com/docs/5.5/homestead#per-project-installation。如果我理解,你说我必须在一个目录中安装 laravel,在另一个目录中安装 homestead,并将这两个目录作为一个整体项目提交。 (我必须将 Homestead.yml 中的路径调整为 laravel publich 目录)。是的,我认为这会起作用,而且这会将我的宅基地配置添加到我的回购中。谢谢
-
你不应该首先创建新的 laravel 项目。只需
require laravel/homestead。 -
Homestead 在某种程度上与 Laravel 应用程序无关。你可以安装 homestead 并且从不使用 Laravel 框架,而是使用 Zend 或 Symfony 来制作 web 应用程序/站点。您的目标应该是安装宅基地,首先不要回头看
laravel/laravel。 -
是的,是的。但是,如果我将我的 laravel 项目交给未来的我或其他开发人员,我希望尽可能少做一些步骤来重新启动该项目。这就是为什么我想在我的仓库中拥有正确的宅基地配置。有关更多信息,请参阅 Trellis for Wordpress 或 Docker 等工具。 :)