Помилка під час спроби бродячого


227

Я використовую Vagrant для свого оточення, і у мене є невелика проблема:

$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

Я ініціював свій проект, vagrant initале чомусь vagrant upвідмовляється працювати.


1
Проблема, яку я мав, коли отримав цю помилку, полягає в тому, що я не cdпотрапив до свого каталогу проектів
Connor Leech

Відповіді:


269

Схоже, ви, можливо, створили проект Vagrant просто vagrant init. Це створить ваш Vagrantfile, але не буде визначено вікно.

Натомість ви можете спробувати

$ vagrant init hashicorp/precise32
$ vagrant up

який використовує стандартне зображення Ubuntu. На веб-сайті Vagrant є Початок роботи, який дає хороші приклади.


19
Гар, це було все. Чому написано "Ви зараз готові до vagrant upсвого першого віртуального середовища!" тоді??
Метт

@Matt - Можливо, тому, що ви можете вручну редагувати вагрантфайл та встановити, яке поле використовувати?
Cyclonecode

5
Якщо ви вже зробили vagrant initта vagrant box addокремо, ви можете просто відредагувати Vagrantfile і встановити config.vm.box на "hashicorp / preci32" або будь-яке інше поле, яке ви хочете використовувати.
Тобі

1
Я згоден - бродячий дуже зручний, але досвід користувачів настільки повний ямкових пасток, в які легко потрапити.
Джеймс

1
Дякую, ваша відповідь мені допомогла!
yohannan_sobin

101

Якщо ви використовуєте OS X і використовували стандартну установку, Видаліть старий локон vagrant і він повинен працювати

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


5
Дякую, це вирішило це і для мене. +1 голосування вгору :)
Акко Ван Еттінгер


8
чому на землі він вбудовується завиток ?
Бенджамін R

3
-rfПрапор трохи Overkill тут. Просто sudo rm /opt/vagrant/embedded/bin/curlдостатньо. Ви повинні намагатися уникати використання -r(= рекурсивного для подорожі каталогів) та -f(= сила без запитань), коли вони насправді не потрібні. Вони є потужним і небезпечним інструментом, особливо в поєднанні з судо ...
Арвід

Для мене це працювало за допомогою програми Vagrant 1.8.7, встановленої в brew cask install vagrant. Той самий файл коробки добре працював з тією ж версією Vagrant на Ubuntu 16.04.
RichVel

89
vagrant init laravel/homestead

і потім

vagrant up

Було те, що працювало на мене.


4
Ідеально! Дякую ! Якщо хтось може мені пояснити, чому це сталося, я буду радий :)
Baldráni

1
Потрібно вказати дійсний тип поля. Ось кілька дійсних типів вікон
duhaime,

1
Дякую, це зводило мене з розуму хе-хе. привітання з Чилі
Крістіан Меза

1
використовуйте - сили з бродячим інітом, якщо вже є бродячий файл
Чак

обидві вище 2 відповіді виправили мою проблему. спочатку видаліть папку «curl», запустіть, sudo rm /opt/vagrant/embedded/bin/curlпотім запустіть, vagrant init laravel/homesteadа потімvagrant up
Wei Lu

44

Це сталося через наявність файлу бродячого без визначеного імені поля. це відбувається під час запуску бродячого init з параметром імені поля.

Тоді вам доведеться видалити файл Vagrant

vagrant init box-title
vagrant up

Я сподіваюся, що це могло б допомогти!


Список доступних коробок тут
Олексій Потапов

ця відповідь врятувала мене від 3-х місячного циклу, коли я не зміг продемонструвати цю скриньку, дякую (я на Windows 7)
адам

22

працюйте зі мною, це наступні кроки:

  • cd homestead (у папці садиби вашого каталогу) АБО cd Homestead
  • del vagrantfile або rm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up

17

Будь ласка, запустіть це у своєму терміналі:

$ vagrant box list

Ви побачите щось подібне laravel/homestead(virtualbox,x.x.x)

Далі знайдіть свій Vagrantfileі знайдіть рядок, що говорить

config.vm.box = "box"

замініть boxім'я поля, коли ви запустите vagrant box list.


Зауважте, що "Vagrantfile" розташований у: C: \ Users \ YourUsername, якщо ви використовуєте Windows.
egdavid

Це вирішило це для мене, оскільки моє зображення коробки, згадане в .kitchen.yml, вже не було в наявності. Хитрий.
хв хундже

16

якщо "Vagrantfile" already exists in this directory. Remove it before running "vagrant init". помилка показує, то

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up

1
==> за замовчуванням: поле "hashicorp / preci64" не вдалося знайти. Спроба знайти та встановити ... Це дозволило віддалену установку, саме тому я віддав перевагу. Я працюю на VirtualBox Windows Host з клієнтом
Ubuntu14

1
Це працювало для мене. Отже, проблема полягає в тому, що, коли ви робите vagrant init, бродячі за замовчуванням називають ваш "вікно" у Vagrantfile просто "базовим"? І щоб зробити цю роботу, вам довелося вказати ім'я коробки Vagrant за замовчуванням?
Denialos

15

Я знаю, що це по-старому, але я отримав абсолютно таку ж помилку. Виявляється, я пропустив цей крок, який чітко прописаний у документації .

Мені потрібно відредагувати , Vagrantfileщоб встановити config.vm.boxрівне зображення , яке я скачав, hashicorp/precise32. За замовчуванням було встановлено значення base.

Ось що говорить документація:

Тепер, коли вікно було додано до Vagrant, нам потрібно налаштувати наш проект, щоб використовувати його як базу. Відкрийте файл Vagrantfile і змініть його на наступне:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
end

Це допомагає. Я використовую "бродячий ініт", приходить помилка. Після вказаного "hashicorp / preci32" все здається нормальним.
yuyue007

Крок знаходиться в офіційній документації, але подивіться, скільки авторів, які відповідають на це питання, не включають його.
jmdeamer

10

Здається, у програмі Vagrant щось вбране з програмою для завивки. Дотримуючись вищевказаних порад, я просто перейменував її (про всяк випадок, коли я захотів її повернути) і vagrant upпочав працювати, як очікувалося.

На моєму комп'ютері:

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


1
Хоча я не впевнений, чи відповідає це на початкове запитання, він мені допомог. Заглибившись у нього трохи далі, я запустив вбудовану команду curl і діставdyld: 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
У мене була така ж проблема з Vagrant 1.8.7 на OSX. Вище написане спрацювало.
Янака

6

Я також відчуваю цю помилку. Я думаю, це було тому, що мені не вдалося поставити box_url ..

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

1
Додавання config.vm.box_url = "http://files.vagrantup.com/precise64.box"до мого Vagrantfile виправило це для мене.
millerdev

4

ну насправді ви повинні зробити:

vagrant up laravel/homestead

тому що відповідно до покрокової інструкції, яку ви тільки що завантажили, ви її завантажили: http://laravel.com/docs/5.0/homestead від:

vagrant box add laravel/homestead

тому вам доведеться запустити вікно, яке ви хочете використовувати - не якесь випадкове зображення ubuntu;)


4

Зі мною я отримав помилку під час запуску vagrant up(я використовував 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...

Я спробував видалити Vagrantfileпапку у своїй папці та запустив:

vagrant init hashicorp/precise64

тоді:

vagrant up

Це може вирішити мою проблему. Сподіваюся, що це може допомогти тому, хто стикається з тією ж проблемою.


1
Я все це намагався кілька разів. Єдине, що спрацювало, - перейменування керла. (Mac OS 10.12)
Вікі T

1
Працював і для мене на ПК під управлінням Windows 10
Jay Julian Payne

4

Я зіткнувся з тим же питанням, коли я виконував наступні команди

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

Я виправився з

>vagrant init laravel/homestead
>Vagrant up

Це працювало для мене.

Щасливе кодування



1

У випадку, якщо ви додали вікно і почали його завантажувати, але перервали це завантаження, перейдіть до ~/.vagrant.d/tmp/та видаліть файл часткового завантаження, а потім спробуйте ще раз.


1

Я вирішив цю проблему, перейшовши в папку .vagrant.d/boxes/під вашим домом та змінивши назву папки з laravel-VAGRANTSLASH-homesteadнаbase . І це працювало на мене.

Перевірте, чи у вашому BIOS включена віртуалізація.


вам слід було запустити "бродячий ініт ларавель-VAGRANTSLASH-подвір'я"
Гіл Марголін

1

ви також можете просто додати vm до своєї машини

vagrant box add precise32 http://files.vagrantup.com/precise32.box

1

Перший і найважливіший крок перед запуском Vagrant - це перевірити, які саме поля є у вашій системі. Використовуйте цю команду для отримання списку доступних вікон.

vagrant box list

Потім переходимо до подальшого процесу, тобто вибираючи певну скриньку

vagrant init ubuntu/trusty64 (Я вибрав ubuntu / trusty64)

тоді,

vagrant up

ПРИМІТКА: Було б чудово, якби ви трохи зробили пошук у Google / Youtube, а не сліпо запускали команди :) Дякую


0

Коли ви робите блукаючий ініт, він замінює файл бродяги у вашому репо і може привести вас до цієї помилки. Тому я б запропонував скопіювати оригінальний файл бродяги з віддаленого файлу або резервного файлу бродячого і спробувати його після цього.

Я зіткнувся з тією ж проблемою, і я просто скопіював файл бродяги зі свого віддаленого репо і замінив файл бродячого, який я намагався запустити. Це синхронізувало конфігурації у файлі бродяги з VM.


0

відредагуйте створений vagrant initу тому самому каталозі бродячий файл та введіть ім'я поля у рядку, config.vm.box = "ubuntu/trusty64"де ubuntu/trusty64знаходиться ваш базовий вікно. Тепер vagrant upбуде завантажено і встановлено ubuntu/trusty64як базове поле для вас.



0

Перевірте файл Homestead.yaml уважно. Перевірте, чи є зайвий пробіл після закінчення рядка. Потім відкрийте gitbash -> перейти до каталогу Homestead -> команда "vagrant up --provision".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.