Depuis Homestead 2.0, Homestead laravel ne fonctionne plus
Je ne sais pas pourquoi "Homestead init" crée un fichier Homestead.yaml dans mon répertoire/.Homestead et non dans le répertoire du projet. Homestead up OR Vagrant up crée le message suivant
Une machine VirtualBox avec le nom 'Homestead' existe déjà.
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/Homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/Homestead' is up to date...
A VirtualBox machine with the name 'Homestead' already exists.
Please use another name or delete the machine with the existing
name, and try again.
J'ai résolu en utilisant vboxmanage
pour obtenir l'ID de la VM.
$ vboxmanage list vms
"my-vm" {c700b8b6-b766-4638-871b-736b44b7db18}
Copiez l'ID du VM souhaité (la chaîne c700…db18
) dans le contenu de ~/.vagrant/machines/default/virtualbox/id
. Enregistrez le fichier, puis exécutez vagrant up
pour que le vm fonctionne sans avoir à le détruire.
Pour moi, la machine n'apparaissait pas comme un VM actif dans l'application VirtualBox. Pour réparer je devais faire ceci:
vagrant global-status
Cela m'a donné l'ID de la machine que je devais détruire. Avec l'ID, lancez:
vagrant destroy {VM ID}
J'ai dû exécuter ça dans Sudo pour détruire la machine. À ce moment-là, j'ai pu courir
vagrant up
Vous avez probablement une virtualbox en cours d'exécution! Ouvrez le programme virtualbox et fermez l’autre virtualbox;) http://smallbusiness.chron.com/shut-down-virtualbox-43657.html
Si cela ne fonctionne pas, vous voudrez peut-être supprimer l'ancien dossier Homestead et placer tous vos projets dans le nouveau dossier;)
A partir du message suivant:
Un ordinateur VirtualBox portant le nom 'nom_mv' existe déjà. Veuillez utiliser un autre nom ou supprimer la machine portant le nom existant et réessayer.
J'ai répertorié les machines virtuelles en cours d'exécution à partir de la ligne de commande:
vboxmanage list vms
Résultat:
"nom_mv" {8ba467b7-da96-4f68-9bf8-671dd6f0d007}
Puis procédé à la suppression de la machine virtuelle incriminée:
VBoxManage unregistervm 8ba467b7-da96-4f68-9bf8-671dd6f0d007 --delete
Je suis un peu en retard pour la fête à ce sujet, mais pour tous ceux qui ont ce problème, SergioPeluzzi a été le plus proche, mais n'a pas eu le cigare avec ceci:
Recherchez vb.name = settings ["name"] = "Homestead" et remplacez "Homestead" par "Homestead" et "vói lá"
La ligne est en réalité:
vb.name = settings["name"] ||= "Homestead"
Comme vous pouvez le voir dans le bit qui dit paramètres ["nom"], il vous suffit d'ajouter un champ de nom à votre fichier Homestead YAML, par exemple.
memory: 2048
cpus: 1
provider: virtualbox
name: my-sexy-Homestead-box
J'ai résolu cette édition /Homestead_folder/scripts/Homestead.rb
Recherchez la ligne vb.name = settings["name"] = "Homestead"
et modifiez Homestead
en Homestead
et "vói lá" qui a fonctionné pour moi.
J'ai eu un vieux répertoire .vagrant dans mon projet qui causait l'erreur :)
Si cela ne résout pas le problème, je vous suggère d'ouvrir VirtualBox, de supprimer tous les VirtualBox et de réessayer.
J'ai eu le même problème aujourd'hui. Passez quelques heures à trouver la solution. Si, pour une raison quelconque, vous ne trouvez pas la liste des machines virtuelles existantes, tapez terminal
Sudo virtualbox
Cela exécutera Virtual Box dans l'interface graphique. Vous devriez voir la liste complète des machines virtuelles et à partir de là, vous pourrez les gérer. Taper "virtualbox" ne montre rien. Vous devez être root (administrateur).
Merci à mightyspaj pour le tuyau.
Je recevais le même message d'erreur, même après l'exécution de "Homestead Destory" et de "vagrant destroy". Comme vous, j’utilisais le fournisseur VirtualBox, vagrant et Homestead. Voici ce que j'ai fait:
~/VirtualBox\ VMs/Homestead
, alors j’ai lancé rm -r /Users/gabriel/VirtualBox\ VMs/Homestead
J'ai édité Homestead.yaml et lui ai ajouté un nouveau nom
ip: "192.168.10.10"
memory: 2048
cpus: 4
provider: virtualbox
name: my-new-Homestead-box-name
J'ai ouvert la virtualBox puis supprimé Homestead vm créé précédemment. Ça m'a aidé.
Parfois, vous ne voudrez peut-être pas supprimer l’ancienne boîte. Hier, peut-être que l’ancien Vagrant est en panne, j’ai mis à jour Vagrant et Virtualbox mais le mappage des dossiers ne fonctionnait pas. Je voulais exécuter une nouvelle boîte et j'ai eu cette erreur.
Je ne voulais pas supprimer l'ancienne boîte (parce que je voulais exécuter des sauvegardes) mais je voulais utiliser une nouvelle boîte. La solution exécutait VirtualBox, cliquez avec le bouton droit de la souris sur la machine Homestead, choisissez Paramètres, puis changez le nom de Homestead
en Homestead_old
.
Après cela, j'ai pu installer Homestead, mais j'avais cette vieille machine et je pouvais aussi l'exécuter pour faire les sauvegardes dont j'avais besoin.
Si vous êtes un utilisateur Windows, veillez à supprimer le dossier C:\Users\<Username>\VirtualBox VMs\Homestead
. Parce que s'il y a toujours un dossier nommé Homestead, l'action de vagrant up
ne sera pas terminée
Ouvrez l'interface graphique de VirtualBox. Voir pour votre VM et le supprimer. Cela a résolu mon problème.
liste des boîtes vagabondes
vagrant box enlever laravel/homestead
statut global vagabond
vagrant détruire nameOfYourBox
Ouvrez votre VirtualBox et supprimez tous les objets de votre Homestead
vagabond
Vous pouvez ouvrir l'interface graphique de VirtualBox et supprimer la machine virtuelle en conflit.
Si vous souhaitez conserver votre machine, sans détruire ni recréer, les étapes suivantes devraient résoudre votre problème. (Je travaille sur OS X El Captain, Vagrant 1.8.1)
Exécuter Homestead en mode débogage
Homestead --debug up
Cherchez quelque chose comme dans la sortie:
Machine INFO: Machine en cours d'initialisation: machine INFO par défaut: - Fournisseur: VagrantPlugins :: ProviderVirtualBox :: Fournisseur: Machine INFO: - Boîte: # Machine INFO: - Répertoire de données: /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/ virtualbox
Data dir, est le chemin qui vous intéresse.
Alors vboxmanage list vms
"Homestead" {0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c} "settler_default_1447385930122_73498_1474294682778_13108" {93ecb93f-f159-4406-a384-5312b4d334b3d
Editez le fichier id, dans le chemin que vous avez découvert dans la commande précédente
vi /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/virtualbox/id
Remplacez le contenu de ce fichier par l'id du VM à corriger, dans ce scénario, il est
0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c
Maintenant essaye
Homestead up
La machine virtuelle devrait commencer à démarrer. Cela pourrait fonctionner ou vous pourriez avoir des problèmes avec l'authentification SSH
default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying...
Pour résoudre ce problème, procédez comme suit: Vérifiez Homestead SSH config
Homestead ssh-config
Vous devriez obtenir quelque chose comme
Nom d'hôte par défaut Host Nom 127.0.0.1 Port vagabond d'utilisateur 2222
UserKnownHostsFile/dev/null StrictHostKeyChecking non
Authentification par mot de passe no
IdentityFile "/Users/pryznar/.vagrant.d/insecure_private_key"
IdentitiesNon oui LogLevel FATAL
Editer le fichier IdentityFile
/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key
Vérifiez Homestead.yml
cat /Users/YOUR_HOME_DIR/.Homestead/Homestead.yaml
Puis copiez le chemin vers le fichier sous la clé keys, et copiez la clé privée de ce fichier
cat ~/.Homestead/ssh/id_rsa
La dernière étape consiste à remplacer la clé privée dans / Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key avec celle que vous venez de copier.
Maintenant, essayez de nouveau Homestead, devrait fonctionner.
Homestead up
J'ai eu quelques avertissements, mais jusqu'à présent cela fonctionne sans problèmes
==> défaut: Avertissement: L'utilisation d'un mot de passe sur l'interface de ligne de commande peut ne pas être sûre. ==> défaut: ERROR 1045 (28000): Accès refusé pour l'utilisateur 'Homestead' @ 'localhost' (à l'aide du mot de passe: YES) La commande SSH a répondu avec un statut de sortie non nul. Vagrant suppose que cela signifie que la commande a échoué. Le résultat de cette commande devrait être dans le journal ci-dessus. Veuillez lire le résultat pour déterminer ce qui a mal tourné.
Rien de tout cela n'a fonctionné pour moi. J'utilisais une vieille machine de développement
j'ai essayé:
vagrant global-status
> détruire tout objet de id
dont vous n'avez pas besoin ou ne correspond pas à ce qui est en conflit
ouvrir virtualbox et supprimer + supprimer les fichiers dont vous n'avez pas besoin ou qui sont en conflit
Ce qui a fonctionné:
localisez votre dossier ~/.vagrant/machines/
ou ~/.vagrant.d/boxes
. Dans mon cas, il contenait la machine virtuelle en conflit et également un tas d'anciennes machines vm laissées que les étapes 1 et 2 n'ont pas supprimées pour une raison quelconque.
après les avoir nettoyées, tout a bien fonctionné, enfin!
J'ai eu l'erreur suivante:
Erreur:
A VirtualBox machine with the name 'Homestead-7' already exists.
Please use another name or delete the machine with the existing
name, and try again.
Solution:
~/VirtualBox VMs
ls
et vérifiez si la machine virtuelle est présente.vagrant up
dans le dossier Homestead.C'est tout, j'espère que c'est utile, c'était ma solution.
Cordialement!
Dans mon cas, les éléments suivants article fournissent la solution. Il y avait un dossier nommé Homestead dans le chemin d'accès /var/root/VirtualBox VMs/ qui causait le problème. Une fois ce dossier supprimé, rm -r Homestead , le problème était résolu. Si vous ne pouvez pas voir ou avoir accès à ce chemin, exécutez les commandes suivantes dans les fenêtres de votre terminal:
$ Sudo -s
$ cd /var/root/VirtualBox\ VMs
Et continuez pour supprimer le dossier Homestead .
Ajoutez --force
après la case, et avant votre prénom.
Après quelques heures de dépannage, plus rien ne fonctionnait pour moi, personne n’ayant mentionné ce petit détail.
Selon vos privilèges au moment de l'installation, vous devrez peut-être exécuter virtualbox en tant qu'administrateur. Ce n'est que lorsque j'ai fait cela que j'ai vu mes boîtes de vagabond dans la liste des machines virtuelles.
J'ai ensuite procédé à la suppression de ma machine virtuelle nommée Homestead
de virtualbox, et le problème a été résolu.
Dans mon cas, rien n'indiquait que le VM "existe déjà" en plus de ce message d'erreur. Rien sur l’interface utilisateur de VirtualBox, rien retourné par "vboxmanage list vms", rien par "statut global vagabond", il n’existait pas dans ".vagrant.d\boxes" et ainsi de suite. Je l'ai résolu en créant manuellement un nouveau nom VM dans le VM VirtualBox Manager (à l'aide du bouton "nouveau" + acceptant toutes les valeurs par défaut), puis en le supprimant (à droite). cliquez sur> supprimer). Après cela, le "vagabond" a fonctionné comme prévu.
Le vagabond s'appuie sur VirtualBox (s'il s'agit du fournisseur par défaut), de sorte qu'il vérifie d'abord l'environnement existant avant de provisionner votre machine virtuelle.
Il exécute la commande suivante:
VBoxManage list vms
et quand il trouve le VM avec le même nom d'hôte, il échouera.
Vous pouvez le déboguer par:
vagrant --debug up
pour trouver la raison exacte.
Si vous prévoyez d'utiliser plusieurs ordinateurs virtuels dans différents dossiers, vous devez modifier votre config.vm.hostname
(éventuellement config.vm.provider(name)
) dans votre Vagrantfile
pour le rendre unique. Ou simplement le supprimer, pour que Vagrant attribue un nom différent à chaque VM.
Si ce n'est pas le cas, arrêtez et annulez l'enregistrement de la précédente VM qui entre en conflit en exécutant:
VBoxManage controlvm NAMEOFVM poweroff
VBoxManage unregistervm NAMEOFVM --delete
et relancez votre vagrant up
.
Si cela échoue lors de la modification du répertoire (parce que vous avez manqué --delete
]), alors renommez ou supprimez le dossier de destination , par exemple:
rm -fr ~/"VirtualBox VMs/NAMEOFVM"
et réessayez à nouveau.
Ce problème peut être lié à: numéro GitHub n ° 2969 - ne détecte pas une machine virtuelle exécutée précédemment
La procédure suivante détruira votre VM et ne conviendra peut-être que dans un environnement de destination comme le mien! Pour les environnements de production, envisagez de réparer l’association comme décrit ici
J'ai eu ce problème après avoir remplacé le nom par défaut d'un VM déjà existant en utilisant
Vagrant.configure("2") do |config|
config.vm.define :ubuntu_test
où le nom de VirtualBox a également été défini (en tant que débutant, j'ai supposé que Vagrand utiliserait également ce nom)
config.vm.provider "virtualbox" do |vb|
vb.name = "Ubuntu-Test"
end
En ajoutant config.vm.define
, il semble que Vagrant n’associe plus le VirtualBox VM au fichier Vagrant puisque même vagrant destroy -f
dit VM not created
mais vagrant up
jette cette erreur
Un ordinateur VirtualBox nommé 'Ubuntu-Test' existe déjà.
vboxmanage shutdown <VMName>
(Ici, le nom est Ubuntu-Test
)vboxmanage list vms
vboxmanage unregistervm <Id> --delete
vagrant up
vagrant global-status --Prune
, votre nouveau nom est présentSi vous utilisez Homestead sous Windows, ouvrez simplement votre VM VirtualBox Oracle et supprimez la VM Homestead
.
Pour moi, le fichier d'identification était présent à l'emplacement mentionné ci-dessous. D:\drupalvm.vagrant\machines\drupalvm\virtualbox
J'ai eu le même problème aujourd'hui. Windows 10. J'ai récemment mis à jour Homestead, donc l'erreur était probablement à cause de cela. J'ai tout essayé, destroy
, up
, supprimer des dossiers, peu importe. Chaque fois que j'essayais de lancer vagrant up
, cela montrait ce genre d'erreur. La solution? Après la mise à jour, j'ai remarqué que Homestead nomme maintenant les cases en fonction du nom du dossier du projet et que Homestead.yaml contient toutes ces informations. Je viens d'exécuter cette configuration Windows Homestead vendor\\bin\\Homestead make
et plus tard, un vagrant up
(avant de m'assurer qu'il était tout à fait propre) et voila, on dirait que la machine est en train de démarrer. =) Essayez cela si vous en avez besoin.