First of all, let’s get one thing straight. This is not a guide for those who are trying their best to not use Unix like environment in develop Rails application. This is more like a guide to do almost everything in Linux without replacing your Windows.
So, I need to teach my colleagues in the next two weeks on Ruby on Rails introductionary class. Since all of the computer labs are installed with Windows 7, I had to find a way to ensure a proper working environment for the students, hence, this article.
After researching for a while, I decided to go with Vagrant.
First of all, install Oracle VM VirtualBox. Vagrant will depend on it.
Next, you need to install Git for Windows. We actually just need
sshexecutable in the Git package. After comparing available options, I think it is the easiest way. Besides, we’ll now have Git enabled in our Windows. By the way, make sure you’ll select the third option (the one with with the warning) during Adjusting your PATH environment section.
Download Vagrant and install it.
Create a working directory (use Windows prompt):
mkdir rails cd rails
Install a Debian box:
vagrant box add debian https://dl.dropboxusercontent.com/u/197673519/debian-7.2.0.box
You can select other box if you want to, but for this guide, I’ll be using a Debian based box. There are a lot more in the Wiki.
Vagrantfile and make sure you put these lines:
Vagrant.configure("2") do |config| # Specify our box's name config.vm.box = "debian" # Forward Rails default server port config.vm.network :forwarded_port, guest: 3000, host: 3000 end
Boot the box:
SSH into it to start working in the box:
We’re going to setup the box for Rails development which includes MySQL as the database.
Install required packages (when asked about the password, leave it empty):
sudo su apt-get install build-essential mysql-server mysql-client libmysqlclient-dev
Create a file at
/etc/gemrc and add this line:
gem: --no-ri --no-rdoc
Install all of the necessary gems:
gem install rails gem install therubyracer
Create a Rails Application⌗
Make sure we’re in
/vagrant/ directory. Anything done here will reflect back the directory in the Windows.
Generate the Rails application:
rails new myapp --database=mysql
cd myapp nano Gemfile
Uncomment this line:
gem 'therubyracer', platforms: :ruby
Run this command:
Create the database based on the default configuration:
Run the app:
Open it using this URL: http://localhost:3000.
If you haven’t noticed, you should see that everything that was changed in
/vagrant will reflect your
rails directory in Windows. This means, you can
just use your favourite editor to load that particular directory and start
coding. It’s as if you’re doing development directly in the server. For
everything else, make sure you’ll do it through Putty or through
I guess that’s it. Good luck !