Recentemente eu quis montar uma máquina virtual com Debian 8, PostgreSQL e Python, para fazer uma importação de dados. Eu uso Windows como sistema operacional base mais VirtualBox para virtualização, e minha melhor opção para criar a receita (vagrantfile) da máquina virtual era o Vagrant, pois o AZK não suporta Windows (no momento de escrita do post, ainda não suporta). Com a receita, eu poderia entregar para o cliente a máquina pronta para ambiente de desenvolvimento ou produção.

Passei por alguns problemas, que foram específicos da mistura de Vagrant 1.8.1 e Windows (tanto 7 quanto 10), e gostaria de compartilhar as soluções que encontrei para resolver tudo.

O primeiro problema foi o erro “‘rsync’ could not be found on your path. Make sure that rsync is properly installed on your system and available on the PATH“.

A solução foi instalar o Cygwin, marcando as opções de openssh e rsync. Também tive que colocar uma variável de ambiente chamada HOME, com %USERPROFILE% como valor. Veja:

vagrant-erro2

Por último, editei o arquivo C:\cygwin64\etc\nsswitch.conf, colocando a linha abaixo:

O segundo problema foi o erro “rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]“, como mostra a imagem abaixo:

vagrant-erro1

A solução foi editar o arquivo C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.8.1\plugins\synced_folders\rsync\helper.rb, comentando as linhas do trecho abaixo:

O terceiro erro foi o “==> default: stdin: is not a tty“, e a solução foi acrescentar o trecho abaixo no vagrantfile:

Com isto, minha receita rodou normalmente no Vagrant e a máquina virtual foi criada com tudo que eu queria. Segue abaixo a receita final:

 

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *