Fehler beim Ausprobieren des Vagabunden

227

Ich verwende Vagrant für meine Umgebung und habe ein kleines Problem:

$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

Ich habe mein Projekt mit initialisiert, weigere mich vagrant initaber aus irgendeinem Grund vagrant upzu arbeiten.

user3677022
quelle
1
Das Problem, das ich hatte, als ich diesen Fehler bekam, ist, dass ich nicht cdin mein Projektverzeichnis
Connor Leech

Antworten:

269

Es sieht so aus, als hätten Sie mit just ein Vagrant-Projekt erstellt vagrant init. Dadurch wird Ihre Vagrant-Datei erstellt, es ist jedoch keine Box definiert.

Stattdessen könnten Sie es versuchen

$ vagrant init hashicorp/precise32
$ vagrant up

welches ein Standard-Ubuntu-Image verwendet. Die Vagrant-Website enthält eine Kurzanleitung mit einigen guten Beispielen.

BrianC
quelle
19
Gar, das war es. Warum heißt es "Sie sind jetzt bereit für vagrant upIhre erste virtuelle Umgebung!" dann??
Matt
@Matt - Vielleicht, weil Sie die Vagrant-Datei manuell bearbeiten und festlegen können, welches Feld verwendet werden soll?
Cyclonecode
5
Wenn Sie dies bereits getan haben vagrant initund vagrant box addseparat, können Sie einfach Vagrantfile bearbeiten und config.vm.box auf "hashicorp / präzise32" oder eine beliebige Box setzen, die Sie verwenden möchten.
Toby
1
Ich stimme zu - Vagrant ist sehr praktisch, aber die Benutzererfahrung ist so voll von Grubenfallen, in die man leicht hineinfallen kann.
James
1
Danke, deine Antwort hat mir geholfen!
Yohannan_sobin
101

Wenn Sie OS X verwenden und die Standardinstallation verwenden, löschen Sie die alte Locke von Vagrant und es sollte jetzt funktionieren

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

abulbul
quelle
5
Danke, das hat es auch für mich gelöst. +1 Abstimmung :)
Akko Van Ettinger
7
Dies hat mein Problem auf dem Mac während der Arbeit mit lokalen und Remote-Boxen
behoben
8
Warum um alles in der Welt bettet es Locken ein ?
Benjamin R
3
Die -rfFlagge ist hier etwas übertrieben. Ist einfach sudo rm /opt/vagrant/embedded/bin/curlgenug. Sie sollten versuchen, die Verwendung von -r(= rekursiv für das Durchsuchen von Verzeichnissen) und -f(= force ohne Fragen) zu vermeiden, wenn sie nicht wirklich benötigt werden. Sie sind ein mächtiges und gefährliches Werkzeug, besonders in Kombination mit Sudo ...
Arvid
Dies funktionierte bei mir mit Vagrant 1.8.7, das mit installiert wurde brew cask install vagrant. Dieselbe Box-Datei funktionierte mit derselben Vagrant-Version unter Ubuntu 16.04 einwandfrei.
RichVel
89
vagrant init laravel/homestead

und dann

vagrant up

War das, was für mich funktioniert hat.

noobmaster69
quelle
4
Perfekt ! Danke ! Wenn mir jemand erklären kann, warum das passiert, bin ich froh :)
Baldráni
1
Sie müssen einen gültigen Feldtyp angeben. Hier sind einige gültige Box-Typen: atlas.hashicorp.com/boxes/…
duhaime
1
Danke, es hat mich verrückt gemacht, hehe. Grüße aus Chile
Cristian Meza
1
Verwenden Sie --force mit Vagrant Init, wenn es bereits eine Vagrant-Datei gibt
Chuck
Beide oben genannten 2 Antworten haben mein Problem behoben. zuerst entfernen 'curl' Ordner ausführen, sudo rm /opt/vagrant/embedded/bin/curldann ausführen vagrant init laravel/homesteadund dannvagrant up
Wei Lu
44

Dies geschah aufgrund einer vagabundierenden Datei ohne definierten Boxnamen. Dies geschieht, wenn Sie vagrant init ohne einen Boxnamenparameter ausführen.

Sie müssen also die Vagrant-Datei löschen

vagrant init box-title
vagrant up

Ich hoffe das konnte helfen!

Muhammad Hamed
quelle
Die Liste der verfügbaren Boxen ist hier
Aleksey Potapov
Diese Antwort hat mich vor einer 3-monatigen Schleife bewahrt, in der ich es nicht geschafft habe, diese Box zu öffnen. Danke (ich bin unter Windows 7)
Adam,
22

Arbeit für mich sind dies die folgenden Schritte:

  • cd homestead (in Ihrem Verzeichnis Homestead-Ordner) ODER cd Homestead
  • del vagrantfile oder rm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up
Gabriel
quelle
17

Bitte führen Sie dies in Ihrem Terminal aus:

$ vagrant box list

Sie werden so etwas sehen laravel/homestead(virtualbox,x.x.x)

Suchen Sie Vagrantfileals Nächstes Ihre und suchen Sie die Zeile mit der Aufschrift

config.vm.box = "box"

boxBeim Ausführen durch den Boxnamen ersetzen vagrant box list.

Techraf
quelle
Beachten Sie, dass sich die "Vagrant-Datei" in: C: \ Users \ YourUsername befindet, wenn Sie Windows verwenden.
Egdavid
Das hat es für mich gelöst, weil mein in der .kitchen.yml erwähntes Box-Bild nicht mehr verfügbar war. Tricky.
min hundje
16

Wenn der "Vagrantfile" already exists in this directory. Remove it before running "vagrant init". Fehler angezeigt wird, dann

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up
Manoj Budha Ayer
quelle
1
==> Standard: Box 'hashicorp / präzise64' konnte nicht gefunden werden. Versuch zu finden und zu installieren ... Dies ermöglichte eine Remote-Installation, was ich sowieso bevorzugte. Ich laufe auf VirtualBox Windows Host mit Ubuntu14 Client
Yardpenalty.com
1
Das hat bei mir funktioniert. Das Problem ist also vagrant init, dass Vagrant , wenn Sie dies tun , Ihre "Box" in Vagrantfile standardmäßig nur "Basis" nennt? Und damit dies funktioniert, mussten Sie einen nicht standardmäßigen Vagrant-Boxnamen angeben?
Denialos
15

Ich weiß, dass dies alt ist, aber ich habe genau den gleichen Fehler erhalten. Es stellte sich heraus, dass mir dieser Schritt fehlte , der eindeutig in der Dokumentation enthalten ist .

Ich musste das bearbeiten Vagrantfile, um config.vm.boxes dem Bild gleichzusetzen, das ich heruntergeladen hatte hashicorp/precise32. Standardmäßig war es auf eingestellt base.

In der Dokumentation heißt es:

Nachdem die Box zu Vagrant hinzugefügt wurde, müssen wir unser Projekt so konfigurieren, dass es als Basis verwendet wird. Öffnen Sie die Vagrant-Datei und ändern Sie den Inhalt wie folgt:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
end
Steve Perry
quelle
Es hilft. Ich benutze "Vagrant Init", der Fehler kommt. Nach der Angabe "hashicorp / präzise32" scheint alles in Ordnung zu sein.
yuyue007
Der Schritt befindet sich in der offiziellen Dokumentation. Sehen Sie sich jedoch an, wie viele Autoren diese Frage nicht beantworten.
jmdeamer
10

Mit dem eingebetteten Curl-Programm in Vagrant scheint etwas nicht zu stimmen. Den obigen Ratschlägen folgend, habe ich es einfach umbenannt (nur für den Fall, dass ich es zurück haben wollte) und vagrant upbegann wie erwartet zu arbeiten.

Auf meinem Mac:

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

nicholasf
quelle
1
Ich bin mir zwar nicht sicher, ob dies die ursprüngliche Frage beantwortet, aber es hat mir geholfen. Als ich mich etwas weiter damit beschäftigte, führte ich den Befehl für eingebettete Locken aus und bekamdyld: 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
Ich hatte das gleiche Problem mit Vagrant 1.8.7 unter OSX. Das obige hat funktioniert.
Janaka
6

Ich erlebe diesen Fehler auch. Ich denke, das lag daran, dass ich keine box_url angegeben habe.

vagrant init precise64 http://files.vagrantup.com/precise64.box
welterw8
quelle
1
Das Hinzufügen config.vm.box_url = "http://files.vagrantup.com/precise64.box"zu meinem Vagrantfile hat es für mich behoben.
Millerdev
4

Nun, eigentlich muss man machen:

vagrant up laravel/homestead

weil Sie es laut Homestead-Komplettlösung gerade heruntergeladen haben: http://laravel.com/docs/5.0/homestead von:

vagrant box add laravel/homestead

Sie müssen also die Box starten, die Sie verwenden möchten - kein zufälliges Ubuntu-Bild;)

Łukasz Rysiak
quelle
4

Bei mir ist beim Ausführen ein Fehler vagrant upaufgetreten (ich habe Macbook Pro, Mac OS: 10.12.1 verwendet):

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

Ich habe versucht, das Vagrantfilein meinem Ordner zu löschen und auszuführen:

vagrant init hashicorp/precise64

dann:

vagrant up

Es kann mein Problem lösen. Ich hoffe, dies kann jemandem helfen, der vor dem gleichen Problem steht.

Lee
quelle
1
Ich habe das alles mehrmals versucht. Das einzige, was funktionierte, war das Umbenennen von Curl. (Mac OS 10.12)
Vicky T
1
Arbeitete auch für mich auf einem PC mit Windows 10
Jay Julian Payne
4

Ich hatte das gleiche Problem, als ich die folgenden Befehle ausführte

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

Ich habe mit korrigiert

>vagrant init laravel/homestead
>Vagrant up

Es hat bei mir funktioniert.

Viel Spaß beim Codieren

Manish Nakar
quelle
2

Dies funktioniert für mich unter Windows 10: https://stackoverflow.com/a/31594225/2400373

Es ist jedoch erforderlich, die Datei zu löschen: VagranfileNach Verwendung des Befehls:

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

Und danach

vagrant up
juanitourquiza
quelle
1

Falls Sie eine Box hinzugefügt und mit dem Herunterladen begonnen haben, diesen Download jedoch unterbrochen haben, gehen Sie zu ~/.vagrant.d/tmp/und löschen Sie die teilweise Download-Datei. Versuchen Sie es dann erneut.

rubo77
quelle
1

Ich habe dieses Problem gelöst, indem ich in den Ordner .vagrant.d/boxes/unter Ihrem Haus gegangen bin und den Namen des Ordners von laravel-VAGRANTSLASH-homesteadin geändert habe base. Und es hat bei mir funktioniert.

Überprüfen Sie, ob die Virtualisierung in Ihrem BIOS aktiviert ist.

Badar
quelle
Sie sollten "Vagrant Init Laravel-VAGRANTSLASH-Homestead"
Gil Margolin
1

Sie können die VM auch einfach zu Ihrem Computer hinzufügen

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

Der erste und wichtigste Schritt vor dem Starten eines Vagrant ist, zu überprüfen, welche Kästchen in Ihrem System vorhanden sind. Verwenden Sie diesen Befehl, um die Liste der verfügbaren Felder abzurufen.

vagrant box list

Fahren Sie dann mit dem weiteren Vorgang fort, indem Sie ein bestimmtes Feld auswählen

vagrant init ubuntu/trusty64 (Ich habe ubuntu / trusty64 ausgewählt)

dann,

vagrant up

HINWEIS: Es wäre großartig, wenn Sie ein wenig Google / Youtube-Suche durchführen, anstatt blind Befehle auszulösen :) Danke

SMshrimant
quelle
0

Wenn Sie vagrant init ausführen, ersetzt es die vagrant-Datei in Ihrem Repo und kann Ihnen diesen Fehler geben. Daher würde ich vorschlagen, dass Sie die ursprüngliche Vagrant-Datei von einer Remote- oder einer Backup-Vagrant-Datei kopieren und danach Vagrant ausprobieren.

Ich bin auf dasselbe Problem gestoßen und habe gerade die Vagrant-Datei von meinem Remote-Repo kopiert und die Vagrant-Datei ersetzt, die ich ausführen wollte. Dadurch wurden die Konfigurationen in der Vagrant-Datei mit der VM synchronisiert.

Ramashah
quelle
0

Bearbeiten Sie die Vagrant-Datei, die von vagrant initim selben Verzeichnis erstellt wurde, und geben Sie den Feldnamen in die Zeile ein, config.vm.box = "ubuntu/trusty64"in der ubuntu/trusty64sich Ihr Basisfeld befindet. Jetzt vagrant upwird heruntergeladen und ubuntu/trusty64als Basisbox für Sie festgelegt.

Captainchhala
quelle
0

Befolgen Sie beim Erstellen der virtuellen Box die folgende Syntax:

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

Siehe http://www.vagrantbox.es/

Samir Sadek
quelle
0

Überprüfen Sie die Datei Homestead.yaml sorgfältig. Überprüfen Sie, ob nach dem Ende der Zeile ein zusätzliches Leerzeichen vorhanden ist. Öffnen Sie dann gitbash -> gehen Sie zum Homestead-Verzeichnis -> Befehl "vagrant up --provision".

Asad Zaman
quelle