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.


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.


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


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.


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!


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

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.


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

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

Ç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:


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

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;)


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.


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



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.


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.


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

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


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.


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.



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".

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.