J'ai installé Laravel Homestead/Vagrant/Virtualbox
sur Windows
comme il était dit sur site officiel
Mais c'est vraiment lent. La mise à jour de la page prend environ 5 secondes.
Et ce n'est pas seulement mon observation. Laracast a une discussion à ce sujet.
Le forum laracast a quelques idées intéressantes, mais c'est un gâchis là-bas (désolé Jeffery), il est difficile de comprendre quelles idées sont acceptées et lesquelles sont refusées.
Ici, sur Stackoverflow, nous avons un bon système de vote pour voter sur les solutions de travail, et demandons aux auteurs de donner plus de détails pour chaque solution individuellement. Veuillez poster vos solutions et expériences.
D'après mon expérience - il y avait une fois une fois où Windows exécutait des mises à jour et arrêtait mon système avec force, et quand il a commencé, il était incroyablement rapide (10 fois plus rapide au moins) mais après le redémarrage suivant, il est redevenu lent. Maintenant je sais que quelque chose peut être fait pour l'accélérer, ce n'est pas un "slow hardware case
"c'est un cas de configuration logicielle!
J'utilise Windows-10 sur Intel-Core-i7, avec Oracle Virtualbox-5.2.12 ... (tout est le dernier et il n'y a rien à mettre à jour)
NFS signifie Network File System
et vous en avez besoin pour la vitesse.
Laravel Homestead tutorial ne dit pas ce qu'est NFS
et pourquoi vous en avez besoin, c'est pourquoi je l'ai ignoré lors de l'installation initiale.
1) Sur votre hôte Windows, installez le plugin qui ajoute la prise en charge NFS à vagrant dans Windows.
$ vagrant plugin install vagrant-winnfsd
2) Allez à Homestead.yaml
, il se trouve généralement dans C:\Users\username\Homestead\Homestead.yaml
3) Ajoutez type: "nfs"
dans la section des dossiers comme ceci:
folders:
- map: ~/code
to: /home/vagrant/code
type: "nfs"
4) Exécutez vagrant up --provision
Résultat:
La vitesse augmente, comme dans @phazei's
réponse, de 8 à 2 secondes pour chaque demande, mais c'est beaucoup moins de travail. @phazei's
la réponse clarifie certains processus d'arrière-plan.
Je l'ai testé sur Windows 10 avec Oracle Virtualbox-5.2.12, vagrant version-2.1.1.
Veuillez noter: page NFS vagabonde dit
Utilisateurs Windows: les dossiers NFS ne fonctionnent pas sur les hôtes Windows. Vagrant ignorera votre demande de dossiers synchronisés NFS sous Windows.
Mais si vous avez le plugin, vous pouvez l'ignorer.
Sur laracasts forum l'auteur nommé @phazei
y a répondu il y a 3 ans
Il a dit:
1) sur votre plugin d'installation Windows Host qui ajoute la prise en charge NFS à vagrant dans Windows.
$ vagrant plugin install vagrant-winnfsd
2) trouvez votre Homestead.rb
Je l'ai trouvé dans
C:\Users\nom d'utilisateur\Homestead\scripts
même s'il a suggéré de regarder
C:\Users\username\AppData\Roaming\Composer\vendor\laravel\Homestead\scripts
3)
Recherchez la section où il est déjà en boucle à travers les paramètres ["dossiers"] et remplacez-le par le code nfs.
pour moi, c'était quelque part vers la ligne 140.
J'ai donc commenté toutes les déclarations if settings.include? 'folders' ... end
et l'ajoute à la place:
# 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) Puis j'ai redémarré vagabond avec stop/up et la vitesse de chargement de ma page est passée de 8 à 2 secondes.
Merci @phazei
. Votre réponse fonctionne toujours après 3 ans.
PS
Je l'ai testé sur Windows 10 avec Oracle Virtualbox-5.2.12, vagrant version-2.1.1.
PPS
Tu peux courir vagrant up --provision
, cela n'affectera pas la modification que vous avez apportée à Homestead.rb