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.


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.


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


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.


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!


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

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.


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

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

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:


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

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


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.


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



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.


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.


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

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


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.


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.



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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.