Kesalahan saat mencoba gelandangan

227

Saya menggunakan Vagrant untuk lingkungan saya dan saya punya sedikit masalah:

$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

Saya telah memulai proyek saya dengan vagrant inittetapi untuk beberapa alasan vagrant upmenolak untuk bekerja.

pengguna3677022
sumber
1
Masalah yang saya miliki ketika saya mendapatkan kesalahan ini adalah bahwa saya tidak cdmasuk ke direktori proyek saya
Connor Leech

Jawaban:

269

Sepertinya Anda mungkin telah membuat proyek Vagrant dengan adil vagrant init. Itu akan membuat Vagrantfile Anda, tetapi tidak akan ada kotak yang ditentukan.

Sebagai gantinya, Anda bisa mencoba

$ vagrant init hashicorp/precise32
$ vagrant up

yang menggunakan gambar Ubuntu standar. Situs web Vagrant memiliki Getting Started yang memberikan beberapa contoh bagus.

BrianC
sumber
19
Gar, itu dia. Mengapa dikatakan "Anda sekarang siap untuk vagrant uplingkungan virtual pertama Anda!" kemudian??
Matt
@ Mat - Mungkin karena Anda dapat mengedit vagrantfile secara manual dan mengatur kotak mana yang akan digunakan?
Cyclonecode
5
Jika Anda sudah melakukannya vagrant initdan vagrant box addsecara terpisah, Anda bisa mengedit Vagrantfile dan mengatur config.vm.box menjadi "hashicorp / precision32" atau kotak apa pun yang ingin Anda gunakan.
Toby
1
Saya setuju - gelandangan sangat berguna, tetapi pengalaman pengguna begitu penuh dengan perangkap lubang yang mudah jatuh ke dalam.
James
1
Terima kasih, jawaban Anda membantu saya!
yohannan_sobin
101

Jika Anda menggunakan OS X dan menggunakan instalasi standar, Hapus ikal lama gelandangan dan sekarang akan berfungsi

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

abulbul
sumber
5
Terima kasih, ini menyelesaikannya untuk saya juga. Beri suara +1 :)
Akko Van Ettinger
7
Ini memperbaiki masalah saya di mac saat bekerja dengan kotak lokal dan remote
DWils
8
mengapa di bumi itu menanamkan ikal ?
Benjamin R
3
The -rfflag agak berlebihan di sini. Cukup sudo rm /opt/vagrant/embedded/bin/curlsudah. Anda harus mencoba untuk menghindari menggunakan -r(= rekursif untuk bepergian direktori) dan -f(= memaksa tanpa pertanyaan yang diajukan) ketika mereka tidak benar-benar diperlukan. Mereka adalah alat yang kuat dan berbahaya, terutama dalam kombinasi dengan sudo ...
Arvid
Ini bekerja untuk saya menggunakan Vagrant 1.8.7 diinstal dengan brew cask install vagrant. File kotak yang sama berfungsi dengan baik dengan versi Vagrant yang sama di Ubuntu 16.04.
RichVel
89
vagrant init laravel/homestead

lalu

vagrant up

Adalah yang bekerja untuk saya.

noobmaster69
sumber
4
Sempurna! Terima kasih ! Jika seseorang dapat menjelaskan kepada saya mengapa ini terjadi saya akan senang :)
Baldráni
1
Anda perlu menentukan jenis kotak yang valid. Berikut adalah beberapa jenis kotak yang valid: atlas.hashicorp.com/boxes/…
duhaime
1
Terima kasih, itu membuatku gila hehe. salam dari Chili
Cristian Meza
1
gunakan - force dengan vagrant init jika sudah ada vagrantfile
Chuck
kedua jawaban di atas memperbaiki masalah saya. pertama-tama hapus folder 'curl' sudo rm /opt/vagrant/embedded/bin/curlkemudian jalankan vagrant init laravel/homesteaddan kemudianvagrant up
Wei Lu
44

Ini terjadi karena memiliki file gelandangan tanpa nama kotak yang ditentukan. ini terjadi ketika Anda menjalankan vagrant init tanpa parameter nama kotak.

Jadi Anda harus menghapus file Vagrant itu

vagrant init box-title
vagrant up

Saya harap ini bisa membantu!

Muhammad Hamed
sumber
Daftar kotak yang tersedia ada di sini
Aleksey Potapov
jawaban ini menyelamatkan saya dari loop 3 bulan gagal untuk menggelandang kotak itu, terima kasih (saya di windows 7)
adam
22

bagi saya ini adalah langkah-langkah berikut:

  • cd homestead (dalam folder homestead direktori Anda) ATAU cd Homestead
  • del vagrantfile atau rm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up
Gabriel
sumber
17

Silakan jalankan ini di terminal Anda:

$ vagrant box list

Anda akan melihat sesuatu seperti laravel/homestead(virtualbox,x.x.x)

Selanjutnya cari Vagrantfiledan temukan garis yang mengatakan

config.vm.box = "box"

ganti boxdengan nama kotak saat Anda menjalankan vagrant box list.

techraf
sumber
Perhatikan bahwa "Vagrantfile" terletak di: C: \ Users \ YourUsername jika Anda menggunakan Windows.
egdavid
Itu menyelesaikannya untuk saya karena gambar kotak saya yang disebutkan di .kitchen.yml tidak tersedia lagi. Rumit.
min hundje
16

jika "Vagrantfile" already exists in this directory. Remove it before running "vagrant init". kesalahan muncul

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up
Manoj Budha Ayer
sumber
1
==> default: Kotak 'hashicorp / precision64' tidak dapat ditemukan. Mencoba mencari dan menginstal ... Ini diizinkan untuk pemasangan jarak jauh yang saya sukai. Saya menjalankan VirtualBox Windows Host dengan klien
Ubuntu14
1
Ini berhasil untuk saya. Jadi masalahnya adalah ketika Anda melakukannya vagrant init, vagrant default untuk menamai "box" Anda di Vagrantfile menjadi "base" saja? Dan untuk membuatnya bekerja, Anda harus menentukan nama kotak Vagrant yang tidak standar?
Denialos
15

Saya tahu ini sudah tua, tetapi saya mendapatkan kesalahan yang persis sama. Ternyata saya melewatkan langkah ini yang jelas ada di dokumentasi .

Saya perlu mengedit Vagrantfileuntuk mengatur config.vm.boxsama dengan gambar yang saya unduh hashicorp/precise32,. Secara default itu diatur ke base.

Inilah yang dikatakan dalam dokumentasi:

Sekarang kotak telah ditambahkan ke Vagrant, kita perlu mengkonfigurasi proyek kita untuk menggunakannya sebagai basis. Buka Vagrantfile dan ubah isinya sebagai berikut:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
end
Steve Perry
sumber
Itu membantu. Saya menggunakan "vagrant init", kesalahannya muncul. Setelah ditentukan "hashicorp / precision32" semuanya tampak OK.
yuyue007
Langkahnya ada di dokumentasi resmi tetapi lihat berapa banyak penulis yang menjawab pertanyaan ini tidak termasuk.
jmdeamer
10

Tampaknya ada sesuatu yang salah dengan program curl tertanam di Vagrant. Mengikuti saran di atas saya baru saja menamainya kembali (kalau-kalau saya ingin kembali) dan vagrant upmulai bekerja seperti yang diharapkan.

Di mac saya:

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

Nicholas
sumber
1
Sementara saya tidak yakin apakah ini menjawab pertanyaan asli itu memang membantu saya. Menggali sedikit lebih jauh saya menjalankan perintah curl tertanam dan mendapatdyld: 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
Saya memiliki masalah yang sama dengan Vagrant 1.8.7 di OSX. Di atas bekerja.
Janaka
6

saya mengalami kesalahan ini juga. Saya pikir itu karena saya gagal memasok box_url ..

vagrant init precise64 http://files.vagrantup.com/precise64.box
welterw8
sumber
1
Menambahkan config.vm.box_url = "http://files.vagrantup.com/precise64.box"ke Vagrantfile saya memperbaikinya untuk saya.
millerdev
4

baik, sebenarnya yang harus Anda lakukan:

vagrant up laravel/homestead

karena menurut langkah-langkah homestead Anda baru saja mengunduhnya: http://laravel.com/docs/5.0/homestead oleh:

vagrant box add laravel/homestead

jadi Anda harus meluncurkan kotak yang ingin Anda gunakan - bukan gambar ubuntu acak;)

Łukasz Rysiak
sumber
4

Dengan saya, saya mendapat kesalahan saat dijalankan vagrant up(saya menggunakan 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...

Saya mencoba menghapus Vagrantfiledi folder saya dan menjalankan:

vagrant init hashicorp/precise64

kemudian:

vagrant up

Itu bisa menyelesaikan masalah saya. Semoga ini bisa membantu bagi seseorang yang menghadapi masalah yang sama.

lee
sumber
1
Saya mencoba semua itu beberapa kali. Satu-satunya hal yang berhasil adalah mengganti nama ikal. (Mac OS 10.12)
Vicky T
1
Bekerja untuk saya juga pada PC yang menjalankan windows 10
Jay Julian Payne
4

Saya menghadapi masalah yang sama ketika saya menjalankan perintah berikut

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

Saya dikoreksi dengan

>vagrant init laravel/homestead
>Vagrant up

Ini berhasil untuk saya.

Selamat coding

Manish Nakar
sumber
2

Ini berfungsi untuk saya di Windows 10: https://stackoverflow.com/a/31594225/2400373

Tetapi perlu untuk menghapus file: Vagranfilesetelah menggunakan perintah:

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

Dan kemudian

vagrant up
juanitourquiza
sumber
1

Jika Anda menambahkan kotak dan mulai mengunduhnya tetapi menghentikan unduhan itu, buka ~/.vagrant.d/tmp/dan hapus sebagian file unduhan, lalu coba lagi.

rubo77
sumber
1

Saya memecahkan masalah ini dengan membuka folder di .vagrant.d/boxes/bawah rumah Anda dan mengubah nama folder dari laravel-VAGRANTSLASH-homesteadmenjadi base. Dan itu berhasil untuk saya.

Silakan periksa apakah virtualisasi diaktifkan di BIOS Anda.

Badar
sumber
Anda seharusnya menjalankan "vagrant init laravel-VAGRANTSLASH-homestead"
Gil Margolin
1

Anda juga bisa menambahkan vm ke mesin Anda

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

Langkah pertama dan paling penting sebelum memulai Vagrant adalah, centang semua kotak yang ada di sistem Anda. Gunakan perintah ini untuk mendapatkan daftar kotak yang tersedia.

vagrant box list

Kemudian pindah ke proses selanjutnya yaitu memilih kotak tertentu

vagrant init ubuntu/trusty64 (Saya telah memilih ubuntu / trusty64)

kemudian,

vagrant up

CATATAN: Akan sangat bagus jika Anda melakukan sedikit pencarian Google / Youtube daripada menjalankan perintah secara membabi buta :) Terima kasih

SMshrimant
sumber
0

Ketika Anda melakukan vagrant init, itu mengganti file gelandangan di repo Anda dan dapat memberikan Anda kesalahan itu. Jadi saya sarankan Anda menyalin file gelandangan asli dari jauh atau file gelandangan cadangan dan mencoba gelandangan setelah itu.

Saya menemukan masalah yang sama dan saya hanya menyalin file gelandangan dari repo jarak jauh saya dan mengganti file gelandangan yang saya coba jalankan. Ini menyinkronkan konfigurasi dalam file gelandangan dengan VM.

ramashah
sumber
0

edit file gelandangan yang dibuat oleh vagrant initdalam direktori yang sama dan masukkan nama kotak di baris di config.vm.box = "ubuntu/trusty64"mana ubuntu/trusty64kotak dasar Anda. Sekarang vagrant upakan mengunduh dan menetapkan ubuntu/trusty64sebagai kotak dasar untuk Anda.

kaptenchala
sumber
0

Ikuti sintaksis di bawah ini saat membuat kotak virtual:

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

Lihat http://www.vagrantbox.es/

Samir Sadek
sumber
0

Periksa file Homestead.yaml dengan hati-hati. Periksa apakah ada karakter spasi tambahan setelah baris berakhir. Kemudian, buka gitbash -> buka direktori Homestead -> perintah "vagrant up --provision".

Asad Zaman
sumber