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.


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.


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


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.


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!


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

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.


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

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

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:


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

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


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.


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



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.


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.


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

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


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


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.



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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.