5

Я пытаюсь установить плагин vagrant-vbguest в Windows 7 из Cygwin 64.

$ vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing json (1.8.1), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.1'` succeeds before bundling.

Выполнение предложенного шага приводит к:

$ gem install json -v '1.8.1'
Building native extensions.  This could take a while...
Successfully installed json-1.8.1
1 gem installed
Installing ri documentation for json-1.8.1...
Installing RDoc documentation for json-1.8.1...

Выполнение первой команды затем завершается неудачно таким же образом.

3 ответа3

6

Это может произойти, если вы установите Vagrant в папку, содержащую пробелы. Например, C:\Program Files\HashiCorp\Vagrant вместо C:\HashiCorp\Vagrant по умолчанию.

Вам доступны два решения:

  • Переустановите Vagrant в папку без пробелов (например, папку установки по умолчанию)
  • Измените переменную среды PATH, чтобы использовать старые имена папок вместо папок с пробелами. Например, Program Files становится PROGRA~1 а Program Files (x86) становится PROGRA~2 (в большинстве случаев вы должны проверить это самостоятельно, введя эти пути и убедившись, что два коротких имени отображаются в те же папки, что и я).

Чтобы изменить переменные среды, перейдите в Панель управления, Система, Дополнительные параметры системы, нажмите вкладку Дополнительно и нажмите кнопку Переменные среды в нижней части окна. Во фрейме «Системные переменные» выберите переменную Path и нажмите «Изменить». Оттуда, измените путь к вашему Vagrant bin, чтобы использовать короткие имена вместо папок с пробелами. В моем случае, поскольку я установил Vagrant в каталоге Program Files (x86) , моя переменная Path выглядит примерно так:

[semi-colon delimited list of other paths];C:\PROGRA~2\HashiCorp\Vagrant\bin

После этого откройте новую командную строку и попробуйте снова установить плагин.

2

Вы можете установить плагин локально.

  • Загрузите гем плагина с https://rubygems.org/ и сохраните его где-нибудь (C:\somewhere)
  • В расположении плагина выполните следующую команду:

    C:\somewhere>vagrant plugin install vagrant-vbguest-0.10.0.gem
    
1

Vagrant поставляется с собственным встроенным ruby и не использует системный ruby. Поэтому вам нужно установить / переустановить gem с помощью встроенной утилиты gem.

Например на моей OS X:

~ ->  /Applications/Vagrant/embedded/bin/gem list

*** LOCAL GEMS ***

bigdecimal (1.2.0)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
test-unit (2.0.0.0)

Найдите gem Vagrant и попробуйте снова запустить install.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .