Laravel Homestead/Vagrant虚拟机出错:Vagrant不支持指定的校验和类型:sha512。

25

我正在尝试安装laravel homestead,但无法完成添加homestead box的步骤。

指令是:vagrant box add laravel/homestead

下载过程完成后,出现以下错误。

C:\Users\HARSHA - PC PRO>vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://vagrantcloud.com/laravel/homestead
==> box: Adding box 'laravel/homestead' (v9.0.1) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/9.0.1/providers/virtualbox.box
==> box: Box download is resuming from prior download progress
    box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com
    box: Progress: 100% (Rate: 188k/s, Estimated time remaining: --:--:--)
    box: Calculating and comparing box checksum...
The specified checksum type is not supported by Vagrant: sha512.
Vagrant supports the following checksum types:

md5, sha1, sha256
我在Windows 10 64位PC上尝试了这些指示,使用的是virtualbox(版本6.0.0 r127566(Qt5.6.2))和vagrant_2.2.2_x86_64版本。我正在尝试安装Laravel homestead,但由于我对Laravel vagrant不熟悉,所以不知道该如何解决此问题。我在网上搜索了这个问题,但找不到任何与上述有关的解决方案,因此希望能得到任何帮助。
5个回答

19
Vagrant的CHANGELOG.md文件 中所述,现在支持新的校验和类型。只需将Vagrant更新到最新版本(2.2.6),即可解决问题。
然后可以执行vagrant box update来升级Homestead box。

1
不是同一个问题。在2.2.6中,我遇到了这个问题:https://github.com/hashicorp/vagrant/issues/11226。但看起来这个问题已经被修复了,只是还没有发布。但我通过使用2.2.5和旧版的Homestead box(v8.2.1)解决了我的问题。 - Cave Johnson
我已经这样做了,但仍然遇到相同的问题。 - Ari
1
@Ari,你能确认你正在使用2.2.6版本吗?(使用vagrant -v命令)? - Julian AMOEDO
Fedora 30跟vagrant 2.2.5(透过官方渠道最新版本)也有sha512问题。我还必须在~/Homestead/Homestead.yaml文件中添加“version:8.2.1”的代码行(此操作在git clone等命令执行后)。如果没有这一步,vagrant up命令会不断尝试升级到最新版本。 - greyman
哦,我刚意识到这可能只适用于VirtualBox映像文件。之前我成功地使用了不经意的hyperv box add... box:已成功为'hyperv'添加了'laravel/homestead'(v9.1.1)的box!在同一台Fedora 30机器上。@Ari,这对你适用吗? - greyman
显示剩余3条评论

9
在我的情况下,我在日志中看到尝试安装的版本是v9.2.2-alpha1

box: 正在为提供者virtualbox添加'laravel/homestead'(v9.2.2-alpha1)

对我有用的是使用以下参数定义版本。
--box-version=9.1.1

即。
vagrant box add laravel/homestead --checksum-type=sha256 --box-version=9.1.1

此外,尝试下载并安装最新版本的vagrant。

8

您正在使用不支持的校验和类型。请尝试使用 --checksum-type 参数进行安装。具体方法如下:

vagrant box add laravel/homestead --checksum-type sha256

在使用命令行时,可以参考文档


这对我没有起作用,我仍然得到了相同的错误。我推测源代码只提供了sha512校验和,没有其他的。 - tremby
你可以尝试在调试模式下运行它。传递 --debug 以获取有关问题的更多信息。 - Kiran Maniya
可能是这样。我只是升级了Vagrant,问题就解决了。 - tremby

3

请尝试使用2.2.7版本。

vagrant -v

Vagrant 2.2.7

==> box: 成功添加了 'laravel/homestead' (v9.3.0) 虚拟机盒子到 'virtualbox'!


1
我遇到了同样的问题,尝试了多次才解决。
问题:
  • 无法更新vagrant box。
  • 下载后无法切换到新的box。
  • 切换后,Laravel报了一个Facade错误。
解决方案(非常感谢本主题中的答案):
  1. 进入Homestead/Vagrant文件夹。
  2. 然后运行"vagrant -v"来检查您的Vagrant版本(例如"Vagrant 2.1.5")。
  3. 在Web浏览器中转到https://www.vagrantup.com/downloads.html
  4. 下载最新的Vagrant版本。
  5. 在您的计算机上运行并安装新版本。
  6. 转到:https://www.virtualbox.org/
  7. 下载最新的虚拟机。
  8. 在您的计算机上运行并安装新版本。
  9. 回到终端,再次检查vagrant版本 "vagrant -v"(例如"Vagrant 2.2.10")。
  10. 通过运行"vagrant halt"确保您的Vagrant已停止。
  11. 通过"vagrant plugin expunge --reinstall"清除并重新安装您的vagrant插件以确保安全(并确认"Y")。
  12. 现在运行"vagrant box update"来更新您的盒子。
  13. 现在使用"vagrant up"加载您的盒子。
  14. 在加载您的盒子后运行"vagrant destroy"。
  15. 现在再次运行"vagrant up"以从头开始重建您的盒子。

这对我有用。如果对你有用,请告诉我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接