Instalando Ruby e Rails no Ubuntu 8.10 – Intrepid Ibex

Está com pressa? Vá direto para o resumo!

Para trabalhar com Ruby e Rails é necessário instalar alguns pacotes.

Primeiro:

sudo apt-get install ruby rdoc ri irb

Descrição dos pacotes instalados via man:
ruby – Interpreted object-oriented scripting language
rdoc1.8 – Generate documentation from Ruby script files
ri1.8 – Ruby Information at your fingertips
irb1.8 – interactive ruby

ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
irb -v
irb 0.9.5(05/04/13)

Agora vou até o site do RubyGem no RubyForge baixar a ultima versão do mesmo.
Instalar o pacote RubyGem do Ubuntu nem sempre é uma boa idéia…

wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
tar xvzf rubygems-1.3.1.tgz
cd rubygems-1.3.1/
sudo ruby setup.rb
 
gem1.8 -v
1.3.1

Vamos criar um link simbólico para o comando gem

 sudo ln -s /usr/bin/gem1.8  /usr/bin/gem

Este link simbólico é para que quando você digitar o comando “gem” ele chame o “gem1.8″

ls -l /usr/bin/ | grep gem
gem - > /usr/bin/gem1.8
gem1.8

Beleza, ruby instalado, gem instalado, agora vamos tentar instalar o Rails.

sudo gem install rails
 
rails -v
Rails 2.1.2

Agora vamos testar se o Rails está funcionando corretamente (se não falta alguma coisa a ser instalada).
Vamos criar um projeto novo.

rails Teste
cd Teste/
 
script/generate scaffold User nome:string idade:integer

Ops, o primeiro problema, esqueci de instalar o ssl do ruby.

/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:229:in `require_frameworks': no such file to load -- openssl (RuntimeError)
	from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:118:in `process'
	from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:97:in `send'
	from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:97:in `run'
	from /home/gcaixeta/Projetos/Teste/config/environment.rb:13
	from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
	from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/generate.rb:1
	from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
	from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from script/generate:3

Vamos instalalo via apt-get

sudo apt-get install libopenssl-ruby

Novamente vamos tentar gerar o scaffold de exemplo.

script/generate scaffold User nome:string idade:integer

Agora vamos tentar rodar o migrate.

rake db:migrate

ops, esqueci de instalar o sqlite3

rake aborted!
no such file to load -- sqlite3

Vamos instalar primeiro o programa sqlite3

sudo apt-get install sqlite3

Depois o gem

sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
	ERROR: Failed to build gem native extension.

Ops, deu problema na instalação da gem. Ela precisa compilar extensões nativas em C, então tenho que ter instalado os compiladores básicos.

sudo apt-get install build-essential

novamente vamos tentar instalar o gem

sudo gem install sqlite3-ruby
ERROR:  Error installing sqlite3-ruby:
	ERROR: Failed to build gem native extension.
 
/usr/bin/ruby1.8 extconf.rb install sqlite3-ruby
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
	from extconf.rb:1

ops, faltou instalar o pacote dev do ruby

sudo apt-get install ruby-dev
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
	ERROR: Failed to build gem native extension.
 
/usr/bin/ruby1.8 extconf.rb install sqlite3-ruby
checking for fdatasync() in -lrt... yes
checking for sqlite3.h... no

ops, faltou instalar o pacote de desenvolvimento do sqlite3

sudo apt-get install libsqlite3-dev

Novamente. vamos tentar instalar o gem do sqlite3

sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.4
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.4...
Installing RDoc documentation for sqlite3-ruby-1.2.4...

Finalmente!

rake db:migrate
script/server

Resumo

Instalando o Básico

sudo apt-get install ruby rdoc ri irb libopenssl-ruby sqlite3 build-essential ruby-dev libsqlite3-dev

Instalando o Ruby Gem

wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
tar xvzf rubygems-1.3.1.tgz
cd rubygems-1.3.1/
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8  /usr/bin/gem

Instalando as Gems

sudo gem install rails sqlite3-ruby

Instalando o mongrel

sudo gem install mongrel

Instalando o suporte mysql

 sudo apt-get install libmysqlclient15-dev
sudo gem install mysql

Update1:
Testei o tutorial da versão Hardy(8.04), a unica diferença é que não há um pacote chamado “ruby-dev”, ao invés deste, utilize o “ruby1.8-dev”

Update2:

Para testar tudo:

rails Teste
 
cd Teste/
 
script/generate scaffold User nome:string idade:integer
 
rake db:migrate
 
script/server
 
http://localhost:3000/users
  1. Guilherme says:

    Tem um problema. O Rails 2.1 tem problemas com o Ruby 1.8.7, conforme http://www.rubyonrails.org/down. E a minha aplicação de fato apresenta problemas nesta combinação.
    Como faço para obter o Ruby 1.8.6 no Intrepid?

  2. gcaixeta says:

    heheeh eu não sabia deste problema. Num post que você chegou a comentar, havia um comentário a respeito de atualizar sua aplicação para a versão mais nova do rails. Isso também não deu certo?

    http://ubuntuforums.org/showthread.php?t=964978

  3. Terramel says:

    Aeee tá dominando a web. Ao pesquisar por “rake configure ubuntu” cai aqui :P

    A porra do rake ta dando pau na minha maquina ;/ não consigo instalar o ruby-efl que peguei pelo GIT! Quero programar em Ruby usando as bibliotecas EFL do Enlightenment e preciso que isso funcione ;D

    Ah, não vai por nenhum adsense nesse blog? Ele tem potencial :D

    []s
    do Terrinha

  4. Even you are using Ubuntu Intrepid Ibex 8.10, better to downgrade from Ruby 1.8.7 to 1.8.6, as usufull for more production servers for today.
    I have written the article about smart downgrade by using repo from Ubuntu Hardy:
    http://railsgeek.com/2008/11/27/ubuntu-8-10-downgrade-ruby-1-8-7-to-1-8-6

  5. Dann says:

    Mano parabens pelo post,
    estava tendo maior problema com rubygems no ubuntu!
    vlws mesmo!

    post ja estah no gbookmarks

  6. Parabéns,

    Boa! Por causa desse sqlite dá uns paus malucos no rails 2.2.2, agora com a sua ajuda, acho que vai dar certo.

    Obrigado.

  7. Cara eu tutorial foi ótimo.
    Parabéns

  8. Tiago says:

    Cara, seu guia foi muito útil.
    Eu estava me batendo faz tempo para instalar a gem do mysql, instalando o ruby-dev funcionou :)
    valeu

  9. Dzz says:

    Ola..ao instalar o rails atraves do gens, no ubuntu 8.10 ocorre o erro

    invalid gem format for /usr/lib/ruby/gems/1.8/cache/rais…
    sabes o motivo?
    Instalei via atp-get mesmo.

    abraco

  10. Antonio M C Lopes says:

    Muito bom seu post … Tive muitos problemas com a gem, rails e ubuntu … usava o debian para o rails. Grande sacada a instalação do ruby-dev e build-essential.
    Valeu mesmo.

  11. ian says:

    MUito bom esse tutorial.
    Migrei agora meu ambiente de desenvolvimento do windows para o UBUNTU e tava perdidão!

  12. Wislanildo says:

    Muito bom!!

  13. zelito says:

    Muito bom o tutorial

  14. Ivan says:

    Caro Gustavo, este foi o melhor tutorial que encontrei em toda a Internet sobre como instalar o RoR no Ubuntu. Simples, direto e completo. Parabéns! … e obrigado.

  15. Dyan says:

    Muito bom! obrigado.

  16. Mateus Manosso Barszcz says:

    Gustavo,

    excelente!

    Parece que estava falando comigo!

    Estava com problema com o sqlite3, e funcionou perfeitamente com o Ubuntu 9.04

    Valeu.
    Excelente post.

    Obrigado

    Mateus

  1. [...] criei meu tutorial de instalação do Ruby e Rails no Ubuntu Intrepid Ibex (8.10), o Guilherme fez um comentário sobre os problemas que haviam do Ruby 1.8.7 no Ubuntu 8.10 em relação a versões antigas do Rails [...]

Leave a Reply