我在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 ...(一切都是最新的,没有任何更新)
答案 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