Błąd podczas próby włóczęgowania się

227

Używam Vagrant dla mojego środowiska i mam mały 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

Zainicjowałem mój projekt, vagrant initale z jakiegoś powodu vagrant upodmawia pracy.

użytkownik3677022
źródło
1
Problem, który miałem, gdy dostałem ten błąd, polega na tym, że nie znalazłem się cdw katalogu mojego projektu
Connor Leech

Odpowiedzi:

269

Wygląda na to, że stworzyłeś projekt Vagrant za pomocą just vagrant init. Spowoduje to utworzenie pliku Vagrantfile, ale nie będzie miał zdefiniowanego pola.

Zamiast tego możesz spróbować

$ vagrant init hashicorp/precise32
$ vagrant up

który używa standardowego obrazu Ubuntu. Witryna Vagrant ma Rozpoczęcie który daje kilka przykładów dobrych.

BrianC
źródło
19
Gar, to było to. Dlaczego napisano: „Jesteś teraz gotowy do vagrant uppierwszego wirtualnego środowiska!” następnie??
Matt
@Matt - Być może dlatego, że możesz ręcznie edytować plik włóczęgi i ustawić, którego pola użyć?
Kod cyklonowy
5
Jeśli już to zrobiłeś vagrant initi vagrant box addosobno, możesz po prostu edytować plik Vagrantfile i ustawić config.vm.box na „hashicorp / precision32” lub cokolwiek innego, którego chcesz użyć.
Toby
1
Zgadzam się - włóczęga jest bardzo przydatna, ale wrażenia użytkownika są tak pełne pułapek, które łatwo wpaść.
James
1
Dziękuję, twoja odpowiedź pomogła mi!
yohannan_sobin
101

Jeśli używasz OS X i użyłeś standardowej instalacji, usuń stary loki włóczęgi i powinien on teraz działać

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

abulbul
źródło
5
Dzięki, rozwiązało to również dla mnie. +1 głos w górę :)
Akko Van Ettinger
7
To rozwiązało mój problem na komputerze Mac podczas pracy z lokalnymi i zdalnymi urządzeniami
DWils,
8
dlaczego na ziemi to osadzić zwijania ?
Benjamin R
3
-rfFlaga jest trochę przesadą tutaj. Wystarczy sudo rm /opt/vagrant/embedded/bin/curl. Powinieneś starać się unikać używania -r(= rekurencyjny podczas podróży w dół katalogów) i -f(= życie bez zadawania pytań), gdy nie są one naprawdę potrzebne. Są potężnym i niebezpiecznym narzędziem, szczególnie w połączeniu z sudo ...
Arvid,
Działa to dla mnie przy użyciu Vagrant 1.8.7 zainstalowanego z brew cask install vagrant. Ten sam plik skrzynki działał poprawnie z tą samą wersją Vagrant na Ubuntu 16.04.
RichVel,
89
vagrant init laravel/homestead

i wtedy

vagrant up

To działało dla mnie.

noobmaster69
źródło
4
Idealny ! Dziękuję Ci ! Jeśli ktoś może mi wyjaśnić, dlaczego tak się dzieje, będę zadowolony :)
Baldráni
1
Musisz podać prawidłowy typ pola. Oto kilka prawidłowych typów skrzynek: atlas.hashicorp.com/boxes/…
duhaime
1
Dzięki, doprowadzało mnie to do szaleństwa hehe. pozdrowienia z Chile
Cristian Meza
1
użyj --force z włóczęgą init, jeśli jest już plik włóczęgi
Chuck
obie powyższe 2 odpowiedzi naprawiły mój problem. najpierw usuń folder „curl”, sudo rm /opt/vagrant/embedded/bin/curla następnie uruchom, vagrant init laravel/homesteada następnievagrant up
Wei Lu
44

Stało się tak z powodu posiadania błędnego pliku bez zdefiniowanej nazwy skrzynki. dzieje się tak, gdy uruchamiasz włóczęgę init bez parametru nazwy skrzynki.

Więc musisz usunąć plik Vagrant

vagrant init box-title
vagrant up

Mam nadzieję, że to może pomóc!

Muhammad Hamed
źródło
Lista dostępnych skrzynek jest tutaj
Aleksey Potapov
ta odpowiedź uratowała mnie od 3 miesięcy pętli, że nie mogę włóczyć się po tym polu, dziękuję (jestem na Windows 7)
Adam
22

pracuj dla mnie są to następujące kroki:

  • cd homestead (w folderze katalogu domowego) LUB cd Homestead
  • del vagrantfile lub rm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up
Gabriel
źródło
17

Uruchom to w swoim terminalu:

$ vagrant box list

Zobaczysz coś takiego laravel/homestead(virtualbox,x.x.x)

Następnie zlokalizuj swój Vagrantfilei zlokalizuj wiersz z napisem

config.vm.box = "box"

boxpo uruchomieniu zamień na nazwę skrzynki vagrant box list.

techraf
źródło
Zwróć uwagę, że „Vagrantfile” znajduje się w: C: \ Users \ YourUsername, jeśli używasz systemu Windows.
egdavid,
To rozwiązało dla mnie, ponieważ mój obraz pudełka wymieniony w .kitchen.yml nie był już dostępny. Zdradliwy.
min hundje
16

jeśli "Vagrantfile" already exists in this directory. Remove it before running "vagrant init". pojawia się błąd

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up
Manoj Budha Ayer
źródło
1
==> domyślnie: Nie można znaleźć pola „hashicorp / precision64”. Próba znalezienia i zainstalowania ... Pozwoliło to na zdalną instalację, co i tak wolałem. Pracuję na VirtualBox Windows Host z klientem
Ubuntu14
1
To zadziałało dla mnie. Problem polega na tym, że kiedy to zrobisz vagrant init, włóczęga domyślnie nazywa swoje „pudełko” w Vagrantfile tylko „bazą”? A żeby to zadziałało, trzeba było podać inną niż domyślną nazwę skrzynki Vagrant?
Denialos,
15

Wiem, że to stare, ale mam dokładnie ten sam błąd. Okazuje się, że brakowało mi tego kroku, który jest wyraźnie w dokumentacji .

Musiałem zmodyfikować Vagrantfile, aby ustawić config.vm.boxrówną obrazem miałem pobranego, hashicorp/precise32. Domyślnie była ustawiona na base.

Oto, co mówi dokumentacja:

Teraz, gdy pudełko zostało dodane do Vagrant, musimy skonfigurować nasz projekt, aby używał go jako podstawy. Otwórz plik Vagrant i zmień zawartość na następujące:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
end
Steve Perry
źródło
To pomaga. Używam „włóczęgi init”, pojawia się błąd. Po określeniu „hashicorp / precision32” wszystko wydaje się OK.
yuyue007
Krok znajduje się w oficjalnej dokumentacji, ale spójrz, ilu autorów odpowiadających na to pytanie go nie uwzględnia.
jmdeamer
10

Wygląda na to, że coś jest nie tak z wbudowanym programem curl w Vagrant. Zgodnie z powyższą radą właśnie zmieniłem nazwę (na wypadek, gdybym chciał to z powrotem) ivagrant up zacząłem działać zgodnie z oczekiwaniami.

Na moim komputerze Mac:

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

nicholasf
źródło
1
Nie jestem pewien, czy odpowiedź na pierwotne pytanie pomogła mi. Zagłębiając się trochę dalej, uruchomiłem wbudowane polecenie curl i dostałemdyld: 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
Miałem ten sam problem z Vagrant 1.8.7 na OSX. Powyższe zadziałało.
Janaka
6

ten błąd też występuje. Myślę, że to dlatego, że nie dostarczyłem box_url ..

vagrant init precise64 http://files.vagrantup.com/precise64.box
welterw8
źródło
1
Dodanie config.vm.box_url = "http://files.vagrantup.com/precise64.box"do mojego Vagrantfile naprawiło to dla mnie.
millerdev
4

cóż, właściwie musisz zrobić:

vagrant up laravel/homestead

ponieważ zgodnie z instrukcją Homestead właśnie ją pobrałeś: http://laravel.com/docs/5.0/homestead przez:

vagrant box add laravel/homestead

więc musisz uruchomić okno, którego chcesz użyć - nie jakiś losowy obraz ubuntu;)

Łukasz Rysiak
źródło
4

Ze mną pojawia się błąd, gdy vagrant upjest uruchomiony (użyłem Macbooka 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...

Próbowałem usunąć Vagrantfileplik z mojego folderu i uruchomić:

vagrant init hashicorp/precise64

następnie:

vagrant up

To może rozwiązać mój problem. Mam nadzieję, że może to pomóc komuś, kto zmaga się z tym samym problemem.

zawietrzny
źródło
1
Próbowałem tego wszystkiego kilka razy. Jedyne, co zadziałało, to zmiana nazwy loków. (Mac OS 10.12)
Vicky T
1
Pracował też dla mnie na komputerze z systemem Windows 10
Jay Julian Payne
4

Ten sam problem napotkałem, gdy uruchomiłem następujące polecenia

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

Poprawiłem za pomocą

>vagrant init laravel/homestead
>Vagrant up

To zadziałało dla mnie.

Szczęśliwego kodowania

Manish Nakar
źródło
2

Działa to dla mnie w systemie Windows 10: https://stackoverflow.com/a/31594225/2400373

Ale konieczne jest usunięcie pliku: Vagranfilepo użyciu polecenia:

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

Oraz po

vagrant up
juanitourquiza
źródło
1

W przypadku dodania pola i rozpoczęcia pobierania, ale przerwano pobieranie, przejdź do ~/.vagrant.d/tmp/pliku częściowego pobierania i usuń go, a następnie spróbuj ponownie.

rubo77
źródło
1

Rozwiązałem ten problem, przechodząc do folderu .vagrant.d/boxes/pod twoim domem i zmieniłem nazwę folderu z laravel-VAGRANTSLASH-homesteadnabase . I zadziałało dla mnie.

Sprawdź, czy w systemie BIOS jest włączona wirtualizacja.

Badar
źródło
powinieneś był uruchomić „włóczęga init laravel-VAGRANTSLASH-homestead”
Gil Margolin
1

możesz także dodać maszynę wirtualną do swojego komputera

vagrant box add precise32 http://files.vagrantup.com/precise32.box
Doron Segal
źródło
1

Pierwszym i najważniejszym krokiem przed rozpoczęciem Vagrant jest sprawdzenie, które wszystkie pola są obecne w twoim systemie. Użyj tego polecenia, aby uzyskać listę dostępnych skrzynek.

vagrant box list

Następnie przejdź do dalszego procesu, czyli wybrania konkretnego pola

vagrant init ubuntu/trusty64 (Wybrałem ubuntu / trusty64)

następnie,

vagrant up

UWAGA: Byłoby wspaniale, gdybyś przeprowadził trochę wyszukiwania w Google / Youtube zamiast ślepo uruchamiał polecenia :) Dzięki

SMshrimant
źródło
0

Kiedy wykonujesz błędne init, zastępuje ono błędny plik w twoim repozytorium i może dać ci ten błąd. Sugeruję więc skopiowanie oryginalnego pliku włóczęgi ze zdalnego lub zapasowego pliku włóczęgi i wypróbowanie włóczęgi po tym.

Natknąłem się na ten sam problem i właśnie skopiowałem plik włóczęgi z mojego zdalnego repozytorium i zastąpiłem plik włóczęgi, który próbowałem uruchomić. To zsynchronizowało konfiguracje w zbłąkanym pliku z maszyną wirtualną.

ramashah
źródło
0

edytuj plik włóczęgi utworzony przez vagrant initw tym samym katalogu i wprowadź nazwę pola w wierszu, w config.vm.box = "ubuntu/trusty64"którym ubuntu/trusty64znajduje się pole podstawowe. Teraz vagrant upzostanie pobrany i ustawiony ubuntu/trusty64jako podstawa dla Ciebie.

captainchhala
źródło
0

Podczas tworzenia wirtualnego pudełka postępuj zgodnie z poniższą składnią:

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

Zobacz http://www.vagrantbox.es/

Samir Sadek
źródło
0

Sprawdź dokładnie plik Homestead.yaml. Sprawdź, czy po zakończeniu wiersza nie ma dodatkowego znaku spacji. Następnie otwórz gitbash -> przejdź do katalogu Homestead -> polecenie „vagrant up --provision”.

Asad Zaman
źródło