Erreur lors de la tentative de vagabondage

227

J'utilise Vagrant pour mon environnement et j'ai un petit problème:

$vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Adding box 'base' (v0) for provider: virtualbox
    default: Downloading: base

An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn't open file /Users/.../base

J'ai initialisé mon projet avec vagrant initmais pour une raison quelconque vagrant uprefuse de travailler.

user3677022
la source
1
Le problème que j'ai eu quand j'ai eu cette erreur est que je ne suis pas cdentré dans mon répertoire de projet
Connor Leech

Réponses:

269

Il semble que vous ayez créé un projet Vagrant avec just vagrant init. Cela créera votre Vagrantfile, mais aucune boîte ne sera définie.

Au lieu de cela, vous pouvez essayer

$ vagrant init hashicorp/precise32
$ vagrant up

qui utilise une image Ubuntu standard. Le site Web de Vagrant a une mise en route qui donne de bons exemples.

BrianC
la source
19
Gar, c'était tout. Pourquoi est-il écrit "Vous êtes maintenant prêt pour vagrant upvotre premier environnement virtuel!" puis??
Matt
@Matt - Peut-être parce que vous pouvez modifier manuellement le fichier vagrant et définir quelle case utiliser?
Cyclonecode
5
Si vous l'avez déjà fait vagrant initet vagrant box addséparément, vous pouvez simplement modifier Vagrantfile et définir config.vm.box sur "hashicorp / precise32" ou la boîte que vous souhaitez utiliser.
Toby
1
Je suis d'accord - vagabond est très pratique, mais l'expérience utilisateur est tellement remplie de pièges dans lesquels il est facile de tomber.
James
1
Merci, votre réponse m'a aidé!
yohannan_sobin
101

Si vous utilisez OS X et avez utilisé l'installation standard, supprimez l'ancienne boucle de vagrant et cela devrait maintenant fonctionner

sudo rm /opt/vagrant/embedded/bin/curl

abulbul
la source
5
Merci, cela a également résolu le problème pour moi. +1 vote up :)
Akko Van Ettinger
7
Cela a résolu mon problème sur Mac lorsque je travaillais avec des boîtes locales et distantes
DWils
8
pourquoi diable incorpore-t-il la boucle ?
Benjamin R
3
Le -rfdrapeau est un peu exagéré ici. C'est juste sudo rm /opt/vagrant/embedded/bin/curlassez. Vous devriez essayer d'éviter d'utiliser le -r(= récursif pour parcourir les répertoires) et le -f(= forcer sans poser de questions) lorsqu'ils ne sont pas vraiment nécessaires. Ils sont un outil puissant et dangereux, surtout en combinaison avec sudo ...
Arvid
Cela a fonctionné pour moi en utilisant Vagrant 1.8.7 installé avec brew cask install vagrant. Le même fichier de boîte a bien fonctionné avec la même version de Vagrant sur Ubuntu 16.04.
RichVel
89
vagrant init laravel/homestead

puis

vagrant up

C'est ce qui a fonctionné pour moi.

noobmaster69
la source
4
Parfait! Je vous remercie ! Si quelqu'un peut m'expliquer pourquoi cela se produit, je serai heureux :)
Baldráni
1
Vous devez spécifier un type de boîte valide. Voici quelques types de boîtes valides: atlas.hashicorp.com/boxes/…
duhaime
1
Merci, ça me rendait fou hehe. salutations du Chili
Cristian Meza
1
utiliser --force avec vagrant init s'il y a déjà un fichier vagrant
Chuck
les deux réponses ci-dessus ont résolu mon problème. supprimez d'abord le dossier «curl», sudo rm /opt/vagrant/embedded/bin/curlpuis exécutez vagrant init laravel/homesteadpuisvagrant up
Wei Lu
44

Cela est dû au fait d'avoir un fichier vagabond sans nom de boîte défini. cela se produit lorsque vous exécutez vagrant init sans paramètre de nom de boîte.

Vous devez donc supprimer le fichier Vagrant puis

vagrant init box-title
vagrant up

J'espère que cela pourrait aider!

Muhammad Hamed
la source
La liste des boîtes disponibles est ici
Aleksey Potapov
cette réponse m'a sauvé de la boucle de 3 mois d'échec à vagabonder cette boîte, merci (je suis sur Windows 7)
Adam
22

travaillez pour moi ce sont les étapes suivantes:

  • cd homestead (dans le dossier homestead de votre répertoire) OU cd Homestead
  • del vagrantfile ou rm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up
Gabriel
la source
17

Veuillez exécuter ceci dans votre terminal:

$ vagrant box list

Vous verrez quelque chose comme laravel/homestead(virtualbox,x.x.x)

Localisez ensuite votre Vagrantfileet localisez la ligne qui dit

config.vm.box = "box"

remplacer boxpar le nom de la boîte lorsque vous exécutez vagrant box list.

techraf
la source
Notez que le "Vagrantfile" se trouve dans: C: \ Users \ YourUsername si vous utilisez Windows.
egdavid
Cela m'a résolu car mon image de boîte mentionnée dans le .kitchen.yml n'était plus disponible. Rusé.
min hundje
16

si l' "Vagrantfile" already exists in this directory. Remove it before running "vagrant init". erreur apparaît alors

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up
Manoj Budha Ayer
la source
1
==> par défaut: la boîte 'hashicorp / precise64' est introuvable. Tenter de trouver et d'installer ... Cela a permis l'installation à distance, ce que j'ai préféré de toute façon. Je cours sur VirtualBox Windows Host avec le client
Ubuntu14
1
Cela a fonctionné pour moi. Donc, le problème est que lorsque vous le faites vagrant init, vagabond par défaut nomme votre "boîte" dans Vagrantfile à "base"? Et pour que cela fonctionne, vous avez dû spécifier un nom de boîte Vagrant non par défaut?
Denialos
15

Je sais que c'est vieux, mais j'ai exactement la même erreur. Il s'avère que je manquais cette étape qui est clairement dans la documentation .

Je devais modifier le Vagrantfilepour définir l' config.vm.boxégale à l'image que je l' avais téléchargé, hashicorp/precise32. Par défaut, il a été défini sur base.

Voici ce que dit la documentation:

Maintenant que la boîte a été ajoutée à Vagrant, nous devons configurer notre projet pour l'utiliser comme base. Ouvrez le Vagrantfile et modifiez le contenu comme suit:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
end
Steve Perry
la source
Ça aide. J'utilise "vagrant init", l'erreur vient. Après avoir spécifié "hashicorp / precise32" tout semble OK.
yuyue007
L'étape est dans la documentation officielle mais regardez combien d'auteurs répondant à cette question ne l'incluent pas.
jmdeamer
10

Il semble y avoir un problème avec le programme de curl intégré dans Vagrant. En suivant les conseils ci-dessus, je l'ai simplement renommé (juste au cas où je le voudrais) et j'ai vagrant upcommencé à travailler comme prévu.

Sur mon mac:

♪ .vagrant.d sudo mv /opt/vagrant/embedded/bin/curl /opt/vagrant/embedded/bin/curlOLD Password:

nicholasf
la source
1
Même si je ne sais pas si cela répond à la question d'origine, cela m'a aidé. En creusant un peu plus loin, j'ai exécuté la commande de curl intégrée et j'ai obtenudyld: Library not loaded: @rpath/libcurl.4.dylib Referenced from: /opt/vagrant/embedded/bin/curl_old Reason: Incompatible library version: curl_old requires version 9.0.0 or later, but libcurl.4.dylib provides version 7.0.0
tapi
1
J'ai eu le même problème avec Vagrant 1.8.7 sur OSX. Ce qui précède a fonctionné.
Janaka
6

je rencontre aussi cette erreur. Je pense que c'est parce que je n'ai pas fourni de box_url ..

vagrant init precise64 http://files.vagrantup.com/precise64.box
welterw8
la source
1
L'ajout config.vm.box_url = "http://files.vagrantup.com/precise64.box"à mon Vagrantfile l'a corrigé pour moi.
millerdev
4

eh bien, en fait, vous devez faire:

vagrant up laravel/homestead

car selon la procédure pas à pas de homestead, vous venez de le télécharger: http://laravel.com/docs/5.0/homestead par:

vagrant box add laravel/homestead

vous devez donc lancer la boîte que vous souhaitez utiliser - pas une image ubuntu aléatoire;)

Łukasz Rysiak
la source
4

Avec moi, j'ai eu une erreur lors de l'exécution vagrant up(j'ai utilisé Macbook pro, Mac OS: 10.12.1):

An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. Couldn't open file...

J'ai essayé de supprimer le Vagrantfiledans mon dossier et d'exécuter:

vagrant init hashicorp/precise64

puis:

vagrant up

Cela peut résoudre mon problème. J'espère que cela peut aider quelqu'un qui fait face au même problème.

Lee
la source
1
J'ai essayé tout cela plusieurs fois. La seule chose qui a fonctionné était de renommer curl. (Mac OS 10.12)
Vicky T
1
A également fonctionné pour moi sur un PC exécutant Windows 10
Jay Julian Payne
4

J'ai rencontré le même problème lorsque j'ai exécuté les commandes suivantes

vagrant init
vagrant up  
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'base' (v0) for provider: virtualbox
    default: Downloading: base
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn't open file /home/...../base

J'ai corrigé avec

>vagrant init laravel/homestead
>Vagrant up

Ça a marché pour moi.

Codage heureux

Manish Nakar
la source
2

Cela fonctionne pour moi sur Windows 10: https://stackoverflow.com/a/31594225/2400373

Mais il faut supprimer le fichier: Vagranfileaprès avoir utilisé la commande:

vagrant init precise64 http://files.vagrantup.com/precise64.box

Et après

vagrant up
juanitourquiza
la source
1

Dans le cas où vous avez ajouté une boîte et commencé à le télécharger mais avez interrompu ce téléchargement, accédez à ~/.vagrant.d/tmp/et supprimez le fichier de téléchargement partiel, puis réessayez.

rubo77
la source
1

J'ai résolu ce problème en allant dans le dossier .vagrant.d/boxes/sous votre domicile et changé le nom du dossier de laravel-VAGRANTSLASH-homesteadà base. Et ça a marché pour moi.

Veuillez vérifier si la virtualisation est activée dans votre BIOS.

Badar
la source
vous devriez avoir exécuté "vagrant init laravel-VAGRANTSLASH-homestead"
Gil Margolin
1

vous pouvez également simplement ajouter le vm à votre machine

vagrant box add precise32 http://files.vagrantup.com/precise32.box
Doron Segal
la source
1

La première et la plus importante étape avant de démarrer un Vagrant est de vérifier quelles cases sont présentes dans votre système. Utilisez cette commande pour obtenir la liste des cases disponibles.

vagrant box list

Passez ensuite au processus suivant, c'est-à-dire en sélectionnant une case particulière

vagrant init ubuntu/trusty64 (J'ai sélectionné ubuntu / trusty64)

puis,

vagrant up

REMARQUE: ce serait formidable si vous effectuez un peu de recherche Google / Youtube plutôt que de lancer des commandes aveuglément :) Merci

SMshrimant
la source
0

Lorsque vous faites init vagrant, il remplace le fichier vagabond dans votre dépôt et peut vous donner cette erreur. Je vous suggère donc de copier le fichier vagabond d'origine à distance ou un fichier vagabond de sauvegarde et d'essayer de vagabonder par la suite.

Je suis tombé sur le même problème et je viens de copier le fichier vagabond de mon dépôt à distance et de remplacer le fichier vagabond que j'essayais d'exécuter. Cela a synchronisé les configurations dans le fichier vagabond avec la machine virtuelle.

ramashah
la source
0

éditez le fichier vagabond créé par vagrant initdans le même répertoire et entrez le nom de la boîte dans la ligne config.vm.box = "ubuntu/trusty64"où se ubuntu/trusty64trouve votre boîte de base. Maintenant vagrant upva télécharger et définir ubuntu/trusty64comme boîte de base pour vous.

capitainechhala
la source
0

Suivez la syntaxe ci-dessous lors de la création de la boîte virtuelle:

 $ vagrant box add {title} {url}
 $ vagrant init {title}
 $ vagrant up

Voir http://www.vagrantbox.es/

Samir Sadek
la source
0

Vérifiez soigneusement le fichier Homestead.yaml et vérifiez s'il y a un caractère d'espace supplémentaire après la fin de la ligne. Ensuite, ouvrez gitbash -> allez dans le répertoire Homestead -> commande "vagrant up --provision".

Asad Zaman
la source