Ubuntu (The latest stable version : 11.10(Oneiric Ocelot), released few weeks ago) is one of the most Linux based popular operating system and gradually becoming more popular among programmers and web developers. C/C++/Java programmers and web developers are rocking with the Ubuntu as it has a bunch of open source development tools available to increase the productivity at minimum or zero cost.
Ruby on Rails is one of the most popular framework for developing web applications using Agile approach. Rails (Latest version : 3.1) is based MVC (Model View Framework). Getting started with Rails has been little messy (On Linux platform) for beginners due to its installation/setup errors, probably due to some missing dependencies (e.g gems).Relax, it’s very simple, you just need to understand few basic things. This post has been written for those who want to get started with ‘Ruby On Rails'(commonly called as ROR) on Ubuntu 11.10 or the rails developers who want to develop cool application with Ubuntu 11.10.
To install ruby on rails in Ubuntu 11.10 (or other similar Linux distribution such as Linux Mint, Debian etc), just follow these simple steps. Although RVM is not strictly necessary but it’s strongly recommended – it will allow you to use multiple versions of Ruby, which may be be required in some cases.
step 1. Install dependencies
Install git : Git is the most popular (as well as fast and efficient; Linux kernel uses it; developed by Linux Torwalds, the same guy who developed Linux kernel) open source version control system. You can install it in one simple command to install it from the official package repository –
sudo apt-get install git
[You could also install git from the source (Download the source code, extract it and execute
make && sudo make install) ]
Install Curl : Curl is a command line tool to get a file from FTP/HTTP/HTTPS server. To install, open terminal and execute the command –
sudo apt-get install curl
step 2. Install RVM (Ruby Version Manager)
Open terminal and execute the command (I assume you’ve already completed the step 1, otherwise first do that) –
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
Now, you might have to edit the bashrc file to load RVM in shell session. To do that type –
and add the following line to the end (and save the file)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Then reload the shell session using the command –
Now you can test whether the RVM has been installed successfully or not. Open terminal and execute the command –
type rvm | head -1
After executing above command you should be getting this output –
rvm is a function
That’s All.. You’ve successfully installed the RVM. Next, you are supposed to install few additional dependencies. To find out those programs type –
After executing the above command, install the additional packages recommended by RVM –
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
step 3. Install Ruby
Now, it’s time to install the ruby version you want (you’re recommended to use either 1.8.7 or 1.9.2). The generic syntax is
rvm use version_name. It will also install the associated packages such as RubyGems and Bundler.
rvm install 1.9.2
Then select the version, you want to use –
rvm use 1.9.2
If you aren’t sure about the ruby version currently being used, then type –
step 4. install Rails
Finally, you can install the rails gem using a simple command –
gem install rails
Now, create a sample application (just for testing) using Ruby on Rails.
rails new my_app
Then open your browser and type the following address (to see the application running) –
Learning Rails ?
Check out this interactive video course on Ruby on Rails at Treehouse.
Recommended Books/Tutorials for Beginners
Update 1. Fixed some typo in commands! and adds a link in resources!
Update 2. My Rails Application : Railyo – a private job board for rails developers/freelancers.