This guide is valid for the following distributions:
While there is a nice tutorial in the Ruby on Rails wiki, it’s by no means complete. According to it, you should only type: apt-get install rails
to have the newest Rails installed on Ubuntu. It installs both Ruby and Rails, but what about rubygems? Sorry, not this time. There is also another caveat. Although commands like rails test
and ruby script/server
are working properly, ruby/console
is not. If you had the misfortune of experiencing the aforementioned behavior, then this tutorial is just for you.
Pre requirements:
nano /etc/apt/sources.list
Add the following at the end of the file (replace edgy with breezy if you are running Breezy, dapper for Dapper, etc.):
# All Ubuntu repositories
deb http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
Update your apt sources:
apt-get update
Installation:
Install Ruby with developer’s libraries:
apt-get install ruby ri rdoc irb ri1.8 ruby1.8-dev libzlib-ruby zlib1g
Download and install Ruby Gems (no .deb package, unfortunately):
wget http://rubyforge.org/frs/download.php/17190/rubygems-0.9.2.tgz
tar xfvz rubygems-0.9.2.tgz
cd rubygems-0.9.2
ruby setup.rb
Update your RubyGems (also updates the gems cache):
gem update --system
If you get Could not find rubygems-update (> 0) in the repository
or a similar error, you need to delete your RubyGems cache:
$ gem env gemdir
PATH_TO_DEFAULT_GEM_REPOSITORY
$ rm PATH_TO_DEFAULT_GEM_REPOSITORY/souce_cache
and
rm $HOME/.gem/source_cache
In the next step install the OpenSSL bindings for Ruby (needed to install signed gems). They are required if you get the following error: SSL is not installed on this system, while installing signed gems like rake
:
apt-get install libopenssl-ruby
And the last one:
gem install rails -y
And this is basically it. There are, however, depending on your needs, some…
Additional steps:
One of them is setting up the Rails to connect to the MySQL database in a proper way. We will be using the MySQL C bindings, which, for one, support the MySQL old style passwords (which is set as default for Ubuntu 5.04), but are also significantly faster (in the 2-3x range) than the native Ruby MySQL bindings. First, we will need to install the gcc
compiler (and libc6-dev
if you don’t have it already installed). Although strange it may seem, as a default it is not installed on a clean Ubuntu installation.
apt-get install gcc libc6-dev
MySQL development libraries are also required (mysql_config plus mysql/include):
apt-get install libmysqlclient14-dev
(for MySQL 5.0 you might be better of with libmysqlclient15-dev
).
And now we can install C MySQL bindings:
gem install mysql
If you get "sh: make: not found"
do:
apt-get install make
or if you have it already installed, add it to your path:
export PATH=/usr/bin:"${PATH}"
And, of course, in the end install Mongrel:
gem install mongrel -y
And that’s it. Rails installation is complete. Complicated? Not really :) Happy coding!
Paul, when I running command ‘ruby setup.rb’ I got it as
[root@abhilash rubygems-0.9.2]# ruby setup.rb
—> bin
lib
—> lib/rbconfig
lib/rubygems
bin
lib
—> lib/rbconfig
lib/rubygems
bin
mkdir -p /usr/local/bin/
install gem /usr/local/bin/
install gem_mirror /usr/local/bin/
install gem_server /usr/local/bin/
install gemlock /usr/local/bin/
install gemri /usr/local/bin/
install gemwhich /usr/local/bin/
install index_gem_repository.rb /usr/local/bin/
install update_rubygems /usr/local/bin/
lib
mkdir -p /usr/local/lib/ruby/site_ruby/1.8/
install gemconfigure.rb /usr/local/lib/ruby/site_ruby/1.8/
install rubygems.rb /usr/local/lib/ruby/site_ruby/1.8/
install ubygems.rb /usr/local/lib/ruby/site_ruby/1.8/
—> lib/rbconfig
mkdir -p /usr/local/lib/ruby/site_ruby/1.8/rbconfig
install datadir.rb /usr/local/lib/ruby/site_ruby/1.8/rbconfig
lib/rubygems
mkdir -p /usr/local/lib/ruby/site_ruby/1.8/rubygems
install builder.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install cmd_manager.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install command.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install config_file.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install custom_require.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install dependency_list.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install doc_manager.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install format.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install gem_commands.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install gem_open_uri.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install gem_openssl.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install gem_runner.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install installer.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install old_format.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install open-uri.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install package.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install remote_fetcher.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install remote_installer.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install rubygems_version.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install security.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install server.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install source_index.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install source_info_cache.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install source_info_cache_entry.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install specification.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install timer.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install user_interaction.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install validator.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
install version.rb /usr/local/lib/ruby/site_ruby/1.8/rubygems
0) in any repository
Pls give a solution to install ruby on rails in redhat linux.
RedHat? Uhm, I’d rather google it. I stay away as far as possible from anything rpm related .) Now as for the error it just might be that the Ruby gems repository was down. Or it may be something completely different.
Paul , I hav installed Ruby on Rails using command gem install -y rails in ubuntu.
After that what wil I do?
How can I run Ruby on Rails.
Pls give the procedure to run ruby.
prijesh -> Uhm, have you actually read the guide above? It’s plain and simple, you just need to follow each step carefully.
Paul , actually I want to install ‘ postgresql ‘ and apache2 webserver.
How can I install & run both postgresql & apache2 webserver.
Then How can I test Rails & write programs in it?
It is out of the scope of this tutorial. But… for apache2 and postgresql just do
apt-get install apache2 postgresql
and as for writing Rails applications Rails wiki is a good place to start.Hai Paul.
Do u know how to change the core Rails validation error messages using plugins?
Or do u know any site that give me answer in brief ?
Pls reply me…
Uhm, try google. Check the wiki too.
I’m getting errors trying to ‘apt-get’ some packages on Ubuntu 6.10.
‘apt-get install ruby’ worked flawlessly, and I was able to run ‘ruby’.
Next, when I tried ‘apt-get install ri’, i get the following error:
The following packages have unmet dependencies:
ri: Depends: ri1.8 but it is not going to be installed
And then I tried: ‘apt-get install ri1.8’, and it asks me to get rdoc1.8, which gets me this error:
The following packages have unmet dependencies:
rdoc1.8: Depends: ruby1.8 (>= 1.8.4-5ubuntu1.2) but 1.8.4-5ubuntu1 is to be installed
Depends: irb1.8 (>= 1.8.4-5ubuntu1.2) but it is not going to be installed
Depends: libruby1.8 (>= 1.8.4-5ubuntu1.2) but 1.8.4-5ubuntu1 is to be installed
—-
When i tried to get librub1.8, it says it is already installed.
Something’s wrong with the dependency naming or version naming. Has anybody else encountered this?
There is one more thing. I must install also libc6-dev – for C header files. Make calls gcc, and it needs this files.
amorfis: libc6-dev is usually installed by default at some point (either as a dependency or during OS installation), but I’ll add it to the tutorial. Just in case.
when i try to install mongrel i get:
Building native extensions. This could take a while…
Successfully installed mongrel-1.0.1
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require’: no such file to load — rdoc/rdoc (LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require’
from /usr/local/lib/site_ruby/1.8/rubygems/doc_manager.rb:71:in `load_rdoc’
from /usr/local/lib/site_ruby/1.8/rubygems/doc_manager.rb:41:in `generate_ri’
from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:302:in `execute’
from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:301:in `execute’
from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:239:in `execute’
from /usr/local/lib/site_ruby/1.8/rubygems/command.rb:70:in `invoke’
from /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:120:in `process_args’
from /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:91:in `run’
from /usr/local/lib/site_ruby/1.8/rubygems/gem_runner.rb:30:in `run’
from /usr/bin/gem:23
heeeeeeeeeeeeeeeeeeeeelp!
/usr/local? Sorry, can’t help you. I bet 100:1 that your Ruby installation is just hosed. If you are on ubuntu (somehow I doubt that), just follow my guide and it will work just fine.
I’m running Ubuntu 6.10 and have ruby 1.8.4 installed.
I’ve got rails too and just did “gem update –system” yet I have no “irb” on they system…what’s up with that?
Thanks,
/Ed
Ed Arthur -> You can either follow my guide or just run
apt-get install irb
.Right, its the apt-get which fails.
% sudo apt-get install irb
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Couldn’t find package irb
%
I’m more of a command line kind of guy but I’ve been using the (Syanptic Package Manager) GUI mainly to install packages on this Ubuntu system.
I don’t have the “Community maintained Ope Source software or Software restricted by copyright or legal issues boxes checked.
Thanks,
/Ed
Ed Arhur -> You need to have universe repositories enabled. Edit your
/etc/apt/sources.list
to include this line:I’ve updated the guide to reflect this.
That did it thanks.
Than you so much for this tutorial after hours of unsuccessfully trying to set-up ruby on rails on feisty fawn. I finally managed to do it thanks to this tutorial.
Thanks for a great tutorial. Working ~ Feisty Fawn
Thank you so much for a very simple easy-to-follow tutorial on setting up Rails on Ubuntu.
I have been so tired of using Windows XP that this weekend I managed to setup a dual boot system with my current Windows XP install and my new favorite operating system Ubuntu.
I used this great tutorial => http://www.linuxdevcenter.com/pub/a/linux/2006/05/08/dual-boot-laptop.html
to get my dual boot system up and running and then I used your tutorial here to get my ROR up and running.
Everything worked according to plan and today I am back coding in Ruby on Rails in my Linux environment.
Thanks a bunch! You saved me tons of time.
For the rest of you…
If you are still using Windows, I suggest you take a look at Ubuntu it is fairly easy to install if you can follow directions.
You won’t be disapointed with this OS and hos much faster and friendlier it is to use.
http://www.ubuntu.com/
Cheers
http://www.freshnames.biz
Works like a charm. It seems that that gem update –system command can make a problem if you forget to execute as super user.
These are the most useful instructions that work on XUbuntu dapper.
First I apologize my poor English.
After to install the ruby 1.8.7 patch level 22 from the source
on ubuntu 8.04 hardy succefully.
Then I tryed to install rubygems 1.2 in sequence and I
received this error message:
xyz@xyz: /usr/local/src/rubygems-1.2.0$ sudo ruby setup.rb
/lib/rubygems/spec_fetcher.rb:1:in `require’: no such file to load —
zlib (LoadError)
So I tried install zlib1g and zlib1g-dev and after this the problem has not fixed
And I didn’t unistall ruby for reinstall and recompile…
I tried many kind of commands like for uninstall and re-compile ruby:
sudo apt-get remove ruby libruby libruby1.8 ruby1.8 irb rdoc ri
sudo aptitude remove ruby
sudo dpkg –list | grep ruby, dpkg -r
and through Synaptic too
And when I invoke ruby -v or irb, these commands works normally…
How Can I fix this problem?
Thank’s so much for help me!
Bruno