Laravel Homestead / Vagrant / Virtualbox在Windows上很慢

时间:2018-05-30 23:43:39

标签: vagrant virtualbox homestead

我在Laravel Homestead/Vagrant/Virtualbox上安装了Windows slow hardware case

但它确实很慢。页面更新大约需要5秒钟。

这不仅仅是我的观察。 official site对此进行了讨论。

laracast论坛有一些有趣的想法,但那里很糟糕(对不起Jeffery),很难理解哪些想法被接受,哪些被拒绝。

在Stackoverflow上,我们有一个很好的投票系统来投票解决工作解决方案,并要求作者单独提供每个解决方案的更多详细信息。请发布您的解决方案和经验。

根据我的经验 - 曾经有一种情况,当Windows运行更新并强行关闭我的系统时,当它启动它时速度非常快(至少快10倍),但在下次重启后它再次变慢。现在我知道可以采取一些措施加快速度,而不是“{{1}}”这是一个软件配置案例!

我在Intel-Core-i7上使用Windows-10,使用Oracle Virtualbox-5.2.12 ...(一切都是最新的,没有任何更新)

2 个答案:

答案 0 :(得分:17)

NFS代表Network File System,你需要速度。

Laravel homestead tutorial 没有说明NFS是什么以及为什么需要它,这就是我在初始安装时忽略它的原因。

1)在Windows主机上,安装为Windows中的vagrant添加NFS支持的插件。

$ vagrant plugin install vagrant-winnfsd

2)转到Homestead.yaml,它通常位于C:\Users\username\Homestead\Homestead.yaml

3)在文件夹部分添加type: "nfs",如下所示:

folders:
    - map: ~/code
      to: /home/vagrant/code
      type: "nfs"

4)运行vagrant up --provision

结果:

对于每个请求,速度在@phazei's回答中增加,从8秒增加到2秒,但工作量要少得多。 @phazei's回答澄清了一些后台流程。

我在Windows 10上使用Oracle Virtualbox-5.2.12,vagrant version-2.1.1进行了测试。

请注意: Vagrant NFS page

  

Windows用户:NFS文件夹在Windows主机上不起作用。 Vagrant将忽略您对Windows上NFS同步文件夹的请求。

但是如果你有插件,你可以忽略它。

答案 1 :(得分:4)

laracasts论坛上,名为@phazei的作者已在3年前回答了

他说的是:

1)在您的Windows主机安装插件上,为Windows中的vagrant添加NFS支持。

$ vagrant plugin install vagrant-winnfsd

2)找到你的homestead.rb

我在

中找到了它
  

C:\ Users \用户名\宅\脚本

即使他建议看看

  

C:\ Users \用户名\应用程序数据\漫游\作曲\厂商\ laravel \家园\脚本

3)

  

找到已经循环设置["文件夹"]的部分,并将其替换为nfs代码。

对我来说,这是关于第140行的某个地方。

所以,我评论了所有陈述if settings.include? 'folders' ... end

并添加了这个:

    # EDIT:
    # Reorder folders for winnfsd plugin compatilibty
    # see https://github.com/GM-Alex/vagrant-winnfsd/issues/12#issuecomment-78195957
    settings["folders"].sort! { |a,b| a["map"].length <=> b["map"].length }

    # Register All Of The Configured Shared Folders
    if settings.include? 'folders'
        settings["folders"].each do |folder|
          config.vm.synced_folder folder["map"], folder["to"], 
          id: folder["map"],
          :nfs => true,
          :mount_options => ['nolock,vers=3,udp,noatime']
        end
    end

4)然后停止/向上重新启动流浪汉,我的页面加载速度从8秒增加到2秒。

谢谢@phazei。你的答案在3年后仍然有效。

PS

我在Windows 10上使用Oracle Virtualbox-5.2.12,vagrant version-2.1.1进行了测试。

PPS

您可以投放vagrant up --provision,但这不会影响您在homestead.rb

中所做的更改