Vagrant dev build throw ошибки - PullRequest
       71

Vagrant dev build throw ошибки

0 голосов
/ 25 января 2020

Так что у меня возникли некоторые проблемы с vagrant. Первоначально я пытался сообщить об этом как о проблеме на досках для бродящих github, но никогда в своей жизни я не работал с людьми, такими же отвратительными, как сотрудники hashicorp. Они делают отличное программное обеспечение, но ужасные люди. Во всяком случае, они, по сути, продолжали закрывать проблемы, не отвечая на них. Здесь проблема. Я использую vagrant с virtualbox, и недавно была выпущена новая версия virtualbox, которая, к сожалению, не совместима с последней установкой vagrant. Тем не менее, ужасные люди из hashicorp уже обновили исходный код, чтобы он был совместим с новой версией virtualbox, но вам нужно собрать исполняемый файл vagrant из репозитория исходного кода (инструкции здесь ). Поэтому я следовал инструкциям, и vagrant работает так же, как и раньше ... когда единственная команда, которую мне нужно выполнить, это vagrant up. Я должен также упомянуть заранее, что для запуска vagrant dev build текущим рабочим каталогом должен быть root репозитория исходного кода, а сборку dev можно запустить только с помощью следующей команды с ruby :

bundle exec vagrant

С учетом вышесказанного мне нужно было обновить один из своих пользовательских ящиков, поэтому я собрал vm в обновленной версии virtualbox и выполнил следующую команду

bundle exec vagrant package --base go --vagrantfile ../../vagrant/vagrantfile

После длительного периода времени vagrant выплюнул следующую ошибку

The executable 'bsdtar' Vagrant is trying to run was not found in the %PATH% variable. This is an `error. Please verify this software is installed and on the path.`

. Следует также отметить, что я использую машину windows и эта ошибка никогда не возникала при использовании установленной версии vagrant. Итак, я попытался связаться с разработчиками и сообщить о проблеме, и меня ударили по яйцам и проигнорировали, когда они закрыли проблему, не дав никакого ответа. Поэтому, надеясь собрать больше доказательств в надежде, что меня перестанут игнорировать, я использовал проект GNUwin32, чтобы сделать многочисленные команды unix доступными для моей среды Windows, и добавил папку в переменную среды PATH. Затем я снова запускаю ту же команду, чтобы создать новую коробку, и она работает !! Затем я загружаю его в облако vagrant и пытаюсь обновить хранилище vagrant, хранящееся в моей системе, выполнив следующую команду:

bundle exec vagrant box update

Затем, подождав некоторое время, vagrant затем выплюнул эту ошибку на меня:

The box failed to unpackage properly. Please verify that the box
file you're trying to add is not corrupted and that enough disk space
is available and then try again.
The output from attempting to unpackage (if any):

C:\gnuwin32\bin/bsdtar.EXE: invalid option -- s
Usage:
  List:    bsdtar.EXE -tf <archive-filename>
  Extract: bsdtar.EXE -xf <archive-filename>
  Create:  bsdtar.EXE -cf <archive-filename> [filenames...]
  Help:    bsdtar.EXE --help

Еще одна ошибка, и все еще с этим инструментом bsdtar. В любом случае, я снова передаю свои выводы разработчикам, и они снова бьют меня по яйцам и закрывают мою проблему, не отвечая мне. Итак, я решил спросить вас об этих более приятных, более умных людях и посмотреть, есть ли у вас понимание. Похоже, что кто-то еще не сообщает о проблеме, с которой я сталкиваюсь, потому что я думаю, что они просто ждут, когда hashicorp выпустит новую официальную установку, но просто для того, чтобы вы посмотрели на свои приоритеты, версию virtualbox, которая была выпущена который больше не работал с vagrant, был выпущен 10 декабря. Прошло уже больше месяца, и обновленного выпуска до сих пор нет. Итак, я надеюсь, что кто-то там сможет выяснить, почему я продолжаю сталкиваться с этими ошибками при попытке использовать сборку Vagrant's dev и предоставить решение. Если нет, то, возможно, если кто-то еще сможет воспроизвести проблему и сообщить о ней в hashicorp, возможно, он будет слушать кого-то другого.

1 Ответ

0 голосов
/ 27 января 2020

Я понял это. Моя первоначальная гипотеза была верна: поскольку vagrant - это инструмент, созданный в первую очередь для запуска на linux машинах, тогда vagrant запускается на windows, установка включает среду mingw со всеми зависимостями, которые нужны vagrant для функционирования и которые установленный бродячий исполняемый файл импортирует в сеанс консоли при запуске. Вот почему сборка dev продолжала давать сбои: потому что она не импортировала эту среду mingw. Итак, чтобы решить эту проблему, я сначала клонировал репозиторий с исходным кодом vagrant из github и следовал инструкциям, на которые я ссылался выше, чтобы создать исполняемый файл из репо с исходным кодом. Затем я скопировал все файлы в репозитории источника в следующую папку:

<hashicorp install folder root>\Vagrant\embedded\gems\2.2.6\gems\vagrant-<version num>

Итак, для меня каталог назначения: C:\HashiCorp\Vagrant\embedded\gems\2.2.6\gems\vagrant-2.2.6

Этот каталог идентичен источнику повторение кода и копирование исходного кода в вышеприведенную папку заменяет установочную версию vagrant на сборку dev. После того, как я это сделал, выполнение команд vagrant, которые ранее не работали нормально (например, без использования ruby или связки), сработало.

...