This is a new guide for installing Rails on Ubuntu. You can find the old instructions under RailsOnUbuntuDebianTestingAndUnstable.
A French guide for Edgy can be found here (an Edgy guide in English is linked below) : Ubuntu Edgy Eft – Installer RubyOnRails & Eclipse – RadRails
(NOT recommended, see the Community Ubuntu Documentation for more info. These instructions need to be updated. Apt-get is out of date, so you will likely get a non-working gems version. See: The Recommended Way)
Simply copy and paste the following into a terminal:
$ sudo apt-get install ruby rubygems irb ri rdoc ruby1.8-dev build-essential $ sudo gem install rails --include-dependencies $ export PATH=$PATH:/var/lib/gems/1.8/bin
Since Rubygems has the potential to disrupt package management it has only recently been packaged for Debian and, by extension, Ubuntu.
For more information please read Debian’s position on Rubygems
Rails has been packaged for Ubuntu since release 5.10 (Breezy Badger) – the following table lists the versions of Rails and Ruby available in each release of Ubuntu:
| 5.04 (Hoary) | 5.10 (Breezy) | 6.06 LTS (Dapper) | 6.10 (Edgy) | 7.04 (Feisty) | 7.10 (Gutsy) | |
rails |
0.13.11 | 0.13.1 | 1.1.2 | 1.1.6 | 1.2.1 | 1.2.4 |
ruby |
1.8.12 | 1.8.2 | 1.8.23 | 1.8.23 | 1.8.23 | 1.8.23 |
ruby1.8 |
1.8.12 | 1.8.2 | 1.8.4 | 1.8.4 | 1.8.5 | 1.8.6 |
rubygems |
n/a | n/a | n/a | n/a | 0.9.0 | 0.9.44 |
ruby1.8 you actually get the version belowSince Rails is available as a package, Rubygems is no longer required to install it. However as the current version of Rails in Feisty is a couple of versions behind, and Rubygems provides far more than just Rails, two ways of installing Rails are demonstrated.
For the time being all instructions are tested on Ubuntu 7.04 (Feisty Fawn), although they may work for previous releases.
This guide currently only covers installing Rails on Ubuntu. Installation of database servers, web servers, gems (besides Rails and it’s dependencies) are not covered.
This method of installing Rails uses only the official packages. Simply run:
~$ sudo apt-get install rails
This will install the stable (from the distributions point-of-view) versions (see table above for specifics) of Rails and Ruby. you can confirm the version with:
~$ ruby -v
The only package not installed using this method is irb which simply provides a softlink to irb1.8 in /usr/bin. You could create this link yourself, or just install the irb package via apt-get.
(See the Community Ubuntu Documentation for more info. These instructions need to be updated.)
This method installs Ruby via packages, Rubygems via source and Rails via Rubygems. This is much more flexible arrangement than the ‘proper’ method above. It does however mean that you can confuse apt by installing a Ruby library through gem instead of apt.
Install Ruby with the standard ubuntu package management apt by typing in the following:
~$ sudo apt-get install ruby rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby ruby1.8-dev build-essential
Install the Ruby package management directly from source. This way apt does not get confused when RubyGems updates itself.
~$ wget "http://rubyforge.org/frs/download.php/34638/rubygems-1.1.0.tgz" ~$ tar -xvzf rubygems-1.1.0.tgz ~$ rm rubygems-1.1.0.tgz ~$ cd rubygems-1.1.0 ~$ sudo ruby setup.rb ~$ sudo rm -rf rubygems-1.1.0/ (DO NOT use sudo ruby rubygemsx.x.x/setup.rb)
Now, you can update RubyGems
~$ sudo gem update --system
If this command is not working, you probably need to create a symbolic link to gem1.8:
~$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
Now you can install Rails via RubyGems:
~$ sudo gem install rails
Now add /var/lib/gems/1.8/bin/ to your path, and you’re done!
~$ PATH=${PATH}:/var/lib/gems/1.8/bin/
~$ export PATH
Now you just need a database server (or SQLite) as well as a Ruby-driver for it. For the vast majority MySQL should do:
~$ sudo apt-get install libmysql-ruby mysql-server
Mysql via Gem:
~$ sudo apt-get install libmysqlclient15-dev ~$ sudo gem install mysql
To install SQLite3:
~$ sudo apt-get install libsqlite3-ruby libsqlite3-0 libsqlite3-dev ~$ sudo gem install sqlite3-ruby
If you’re not satisfied with MySQL, and you can’t figure out which apt packages to install for your preferred database, then see DatabaseDrivers for details on how to install the correct drivers for your environment via gem (not available if you installed Rails “The not recommenden way”(via apt-get)).
TO-DO: Provide details on installing native database drivers other than MySQL via apt.
If you’re looking to use net/https then you’ll need to install the lib for openssl:
~$ sudo apt-get install libopenssl-ruby
If you need RMagick support for your web app, you are going to need to install ImageMagick and RMagick.
~$ sudo apt-get install imagemagick ~$ dpkg -l | grep magick
This will install the most current imagemagick and then list the ‘magick’ packages installed. Look for what version of libmagick got installed and make sure you specify THAT version number when you install libmagick-dev.
~$ sudo apt-get install libmagick9-dev ~$ sudo gem install rmagick
To install the Imagemagick API for Ruby you should use the prebuilt package for ubuntu (edgy, feisty and gutsy) instead of installing the API via sudo gem install rmagick:
~$ sudo apt-get install librmagick-ruby1.8
After a lengthy build process, you’re ready to edit images in ruby!