【问题标题】:How to update laravel/homestead?如何更新 laravel/宅基地?
【发布时间】:2019-02-18 19:28:44
【问题描述】:

我需要更新 laravel/homestead?这是一个流浪者盒子。我将它用于我的开发环境。

我记得它是一个 shell 命令,但我不记得该命令,我找不到它。请帮忙

【问题讨论】:

标签: laravel homestead


【解决方案1】:

使用下面的命令

homestead update

如果这不起作用

homestead box update

如果这也不起作用

此命令将告诉您当前登录用户系统上所有活动 Vagrant 环境的状态。

vagrant global-status

vagrant box update "laravel/homestead"

我希望我现在清楚了!

【讨论】:

  • 我的盒子 id 是 laravel/homestead - 我应该用引号括起来吗?
  • vagrant global-status - 为什么我需要它?抱歉,您的回答不清楚。
  • 以上2种你试过了吗?如果他们未能检查您的 vagrant 的状态
  • 我为vagrant global-status 添加了解释,请参阅我编辑的答案
【解决方案2】:

请按照这个 url 来指导你更新 laravel/homestead

Update laravel homestead

基本步骤是cd进入你的homestead目录并运行vagrant box update它将下载最新版本

【讨论】:

  • 谢谢。 $ vagrant box update 为我工作。链接虽然不愉快。它建议在不需要时备份数据库。更新后我的数据库完好无损,我什至不想读完。
  • 我同意@YevgeniyAfanasyev。那篇文章不行。结果我一团糟。
【解决方案3】:

如果您在安装时使用了默认设置,则需要

1) 转到您的 vagrant 文件夹

$ cd ~/Homestead/

2) 运行vagrant box update 命令

$ vagrant box update "homestead-7"

在 Laravel 5.6/5.7 上测试

【讨论】:

    【解决方案4】:

    首先更新你的盒子:

    vagrant box update
    

    而且,正如这里记录的那样:

    https://laravel.com/docs/master/homestead#updating-homestead

    您应该首先销毁机器并重新创建它:

    vagrant destroy
    vagrant up
    

    刚刚测试过,它对我有用。 (从宅基地更新:'8.2.0' 到 '9.0.0')

    在销毁机器之前不要忘记备份现有的数据库数据。

    【讨论】:

    • 但是如何在不破坏整个盒子的情况下更新宅基地?
    【解决方案5】:

    这是我最近(2020 年 4 月)提出的将我的 vagrant box 从 9.2.x 升级到 9.5.x 的序列

    如果虚拟机没有先运行:

    vagrant up
    

    然后进入虚拟机:

    vagrant ssh
    

    并备份数据库:

    mysqldump -u homestead --all-databases > homestead-backup.sql
    

    将生成的文件复制到主机(仅当上述命令在映射文件夹中运行)

    关闭ssh连接:

    exit
    

    然后运行:

    vagrant box update
    vagrant destroy
    vagrant box prune
    

    对所有问题回答“是”。那么

    git fetch
    git pull origin release
    

    再次启动虚拟机:

    vagrant up
    

    一旦启动(这次需要更长的时间)进入虚拟机:

    vagrant ssh
    

    并恢复数据库(如果备份文件不在映射文件夹中,则从主机复制备份文件)

    mysql -u homestead < homestead-backup.sql
    

    【讨论】:

    • 哎呀!有没有办法在不破坏和重新创建整个 VM 项目的情况下更新宅基地?
    • 同意。但是 Laravel 官方文档是这样说的:“Vagrant 盒子是完全一次性的。如果出现问题,你可以在几分钟内销毁并重新创建盒子!”
    • mysql -u -p homestead &lt; homestead-backup.sql 密码:秘密
    【解决方案6】:

    首先,检查可用的宅基地版本:
    https://github.com/laravel/homestead/releases

    要检查您的宅基地和流浪者版本,请使用以下命令:

    • 对于 Vagrant 版本:

    vagrant version

    我已安装版本:2.2.10,mac 的最后一个版本是 2.2.14

    • 对于 Homestead 版本,转到文件夹 ~\Homestead 并:

    git branch -v

    在我的例子中,我有这样的输出:HEAD detached at v11.4.0

    那么,如何更新 Vagrant 和 Homestead?
    首先,请务必备份数据库!
    https://laravel.com/docs/8.x/homestead#database-backups

    在我的情况下,自动备份不起作用,我第一次做 vagrant destroy 我丢失了数据库,所以我建议像这样手动备份:

    vagrant ssh
    mysqldump -u homestead -p --all-databases > homestead-20210214.sql
    

    然后在销毁之前从 Vagrant 机器中复制文件: 来自 ~/Homestead

    scp -P 2222 vagrant@127.0.0.1:/home/vagrant/homestead-20210214.sql .
    

    然后从 Homestead 目录:

    vagrant destroy
    git fetch
    

    查看您的宅基地的版本:

    vagrant box list
    

    就我而言,我有:
    laravel/homestead (virtualbox, 10.1.1)

    您可以在这里查看 Homestead 的最新稳定版本:
    https://github.com/laravel/homestead/releases.
    就我而言,是 Homestead 12。

    但实际上您要安装的是 laravel/homestead Vagrant box 的最新稳定版本。 您可以在此处查看最新版本。
    https://app.vagrantup.com/laravel/boxes/homestead.
    在我的情况下是 v11.0.0

    然后因为在我的情况下,最新的 Homestead 是 v12.0.0 我做了:

    git checkout v12.0.0
    vagrant box update
    bash init.sh
    vagrant up
    

    你就完成了。
    然后你就可以恢复数据库了。

    如果我跑怎么办

    vagrant box list
    

    我明白了:
    laravel/homestead (virtualbox, 11.0.0)

    也可以在这里查看官方文档。 https://laravel.com/docs/8.x/homestead#updating-homestead

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-24
      • 2016-04-17
      • 2019-06-15
      • 2015-12-09
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-07-31
      相关资源
      最近更新 更多