如何销毁和重新创建流浪者/宅基地机器?

Yev*_*yev 13 vagrant laravel homestead

我在 Vagrant Box (homestead) 上运行 Laravel

当我这样做时vagrant up,我收到一条消息:

: A newer version of the box 'laravel/homestead' is available and already
: installed, but your Vagrant machine is running against
: version '6.3.0'. To update to version '7.1.0',
: destroy and recreate your machine.
Run Code Online (Sandbox Code Playgroud)

我应该运行哪些命令以及我应该准备哪些潜在问题?

Yev*_*yev 7

您可以在销毁正在运行的 Homestead 之前为 Homestead 创建第二个安装。

1)按照官方文档安装Installation The Homestead Vagrant Box,然后,当安装Homestead而不是这个命令

git clone https://github.com/laravel/homestead.git ~/Homestead
Run Code Online (Sandbox Code Playgroud)

运行这个

git clone https://github.com/laravel/homestead.git ~/MyHomestead
Run Code Online (Sandbox Code Playgroud)

那么你需要cd ~/MyHomesteadgit checkout v8.4.0

现在您需要转到~\MyHomestead\scripts\homestead.rb文件并替换它homestead-7homestead-7-my这将为您的虚拟机中的虚拟机提供不同的名称。

现在你可以按照官方文档

1.1) 并且你总是可以从你的 vagrant 文件夹中销毁你的旧 vagrant box 通常~/homestead通过运行

vagrant destroy 
Run Code Online (Sandbox Code Playgroud)

2)通过运行创建一个新的流浪盒

vagrant up --provision
Run Code Online (Sandbox Code Playgroud)

3)进入流浪者

vagrant ssh
Run Code Online (Sandbox Code Playgroud)

4)转到您的项目(我假设您有一组数据库迁移和播种机)

cd ~/code/myproject
Run Code Online (Sandbox Code Playgroud)

4.1) 你会发现redis并且mysql已经在那里工作了。

5)创建数据库

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

6)如果需要,让SUPERVISOR工作

7) 如果需要,让 cron 工作

完毕


100*_*les 5

正如 ceejayoz 提到的,您不必这样做,您可以继续运行相同的版本。Homestead 旨在能够快速拆除/重建,所有配置都位于Homestead.yamlVagrantfile文件中。它应该能够使用这些配置文件为您完成繁重的工作。

正如您所提到的,您的数据库位于 Homestead 中。如果您有一些数据不是本地测试数据,请确保在销毁之前将其导出。有些人通过 SSH 手动修改他们的 Homestead VM,这是不建议的(因为您应该使用该Homestead.yaml文件进行更改),但如果您这样做,请保留您所做的更改以及更改位置的列表。

以下是在销毁之前您可能需要保留的物品的概述:

  • 你的Homestead.yaml文件,以防万一
  • 您的Vagrantfile文件(如果您进行了自定义更改)
  • 数据库数据
  • 应用程序使用/生成的文件(例如日志)。
  • aliases文件(如果您对其进行了自定义更改)
  • Elasticsearch数据(如果您使用它)
  • Neo4j数据(如果您使用它)

至于要运行的命令,文档说得比我能说的更好: https: //laravel.com/docs/5.7/homestead#updating-homestead

  • 那么,实际上我需要在当前阶段运行“vagrant destroy”和“vagrant up”? (2认同)