Vagrant e Node.js no Windows com Cygwin

Depois de algum tempo usando VMs (Virtual Machine) para cada projeto, fui apresentado pelo Tiago ao Vagrant. No começo achei que era a mesma coisa, mas depois de usar em um projeto vi que é mais simples e prático que uma VM completa.

Com o Vagrant é possível cria um ambiente de desenvolvimento para cada projeto que trabalhamos, sem UI. A configuração da VM fica no repositório do projeto e assim, uma vez configurado, basta usar o vagrant up e sair usando!

Dado que utilizo o Windows como host (preciso dele para rodar o Crysis 3!), tive que descobrir como faria para substituir as minhas VMs Ubuntu completas, com GUI e tudo mais. Editor? Sublime, funciona perfeito no Windows! Terminal? O cmd.exe é impraticável! Para isso utilizo o bash do Cygwin. Done!

Aqui vai um passo a passo da instalação do ambiente:

1. Instalação no Windows

Sem segredos aqui. Siga o caminho feliz.

  • Instalar VirtualBox (config padrão)

  • Instalar Cygwin (config padrão com os pacotes abaixo)

  • git (/devel)
    curl (/net)
    nano (/editors)
    wget (/web)
    OpenSSH (/net)

  • Instalar Vagrant (config padrão)

  • Instalar Node.js (necessário para o Sublime)

  • Instalar CoffeeScript (necessário para o Sublime)
  • npm -g install coffee-script

2. Primara vez: baixar o projeto do git

Estou considerando que as configurações do Vagrant estão no repositório do projeto, então precisamos baixar a primeira vez através do Windows/Cygwin. Depois é possível utilizar o git diretamente na VM.

Para isso, precisamos configurar a chave ssh. Caso tenha uma chave que você já utiliza, pode copiá-la para o diretório ao invés de criar uma. Aqui iremos criar uma nova.

  • No terminal do Cygwin (ambiente Windows):
  • ssh-keygen # Criar chave ssh
    cat ~/.ssh/id_rsa.pub # Copiar e colar chave ssh no repositório do seu projeto. ex: github.com
    mkdir projects # Criar pasta de projetos de sua preferência
    cd projects
    git clone git@github.com:seuusuario/seuprojeto.git
    cd seuprojeto
    vagrant up

3. Utilizando a VM

Costumo utilizar o git dentro da VM e não mais no Windows (apenas a primeira vez). Para isso tenho que configurar o ssh novamente.

  • No terminal do Cygwin (ambiente Linux):
  • cd projects\seuprojeto
    vagrant ssh
    ssh-keygen # Criar chave ssh
    cat ~/.ssh/id_rsa.pub # Copiar e colar chave ssh no repositório do seu projeto. ex: github.com
    cd /vagrant
    git pull # Deve funcionar com a nova chave

4. Configurando o Sublime

Estamos utilizando CoffeeScript nos projetos Node.js e contamos com alguns packages do Sublime para nos ajudar. Um deles é o CoffeeCompile, que compila um arquivo .coffee em JavaScript. Se a instalação do Node.js e do CoffeeScript funcionou, então este package vai funcionar sem problemas.