Não é possível vagrant instalar um plugin: a dependência gem falha apesar de estar instalada

5

Estou tentando instalar o plug-in vagrant-vbguest no Windows 7 a partir do 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.

Realizar a etapa sugerida resulta em:

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

A execução do primeiro comando falha da mesma forma.

    
por msanford 22.08.2014 / 21:33

3 respostas

6

Isso pode ocorrer se você instalar o Vagrant em uma pasta contendo espaços. Por exemplo, C:\Program Files\HashiCorp\Vagrant em vez do padrão C:\HashiCorp\Vagrant .

Duas soluções estão disponíveis para você:

  • Reinstale o Vagrant em uma pasta sem espaços (por exemplo, a pasta de instalação padrão)
  • Modifique sua variável ambiental PATH para usar os nomes curtos da pasta legada no lugar das pastas com espaços. Por exemplo, Program Files se torna PROGRA~1 e Program Files (x86) se torna PROGRA~2 (na maioria dos casos, você mesmo deve verificar isso digitando esses caminhos e verificando se os dois atalhos mapeiam para as mesmas pastas especificadas).

Para modificar suas variáveis ambientais, vá ao Painel de Controle, Sistema, Configurações Avançadas do Sistema, clique na guia Avançado e, em seguida, clique no botão Variáveis Ambientais na parte inferior da janela. No quadro Variáveis do sistema, selecione a variável Path e clique em Editar. De lá, mude o caminho do seu Vagrant bin para usar shortnames no lugar de pastas com espaços. No meu caso, desde que instalei o Vagrant no diretório Program Files (x86) , minha variável Path é parecida com esta:

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

Depois de ter feito isso, abra um prompt de comando new e tente a instalação do seu plug-in novamente.

    
por 29.09.2014 / 06:40
2

Você pode instalar o plugin localmente.

  • Faça o download da gem do plug-in no link e armazene-a em algum lugar ( C:\somewhere )
  • Na localização do plugin, execute o comando abaixo:

    C:\somewhere>vagrant plugin install vagrant-vbguest-0.10.0.gem
    
por 09.04.2015 / 05:29
1

O Vagrant vem com seu próprio rubi incorporado e não usa o sistema rubi. Então você precisa instalar / reinstalar o gem usando o utilitário gem incorporado.

Por exemplo, no meu 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)

Localize o gem do Vagrant e tente executar a instalação novamente.

    
por 29.08.2014 / 01:30