Como instalar Rails 3 no (k) ubuntu

Instalação básica do Rails 3 em um linux (K)ubuntu zero km, depois de muitos testes cheguei a esse conjunto de 6 etapas (testado nas versões 10.04 e 10.10):
1) Instalar os pre-requisitos e ruby
sudo apt-get install curl bison build-essential zlib1g-dev libssl-dev libreadline6-dev libxml2-dev git-core subversion autoconf sqlite3 libsqlite3-dev ruby-full rake rubygems

Atualização (03/12/2010): As instruções funcionam também no Debian. A única diferença é no debian stable “lenny” onde basta trocar libreadline6-dev por libreadline5-dev.

Atualização (18/03/2011): Como o Felypeguimaraes lembrou nos comentários, só use “sudo” nos comandos onde estiver escrito “sudo”, se usar sudo para instalar o rvm ou gem, etc, não vai funcionar.

Depois de +50MB de download, já dá para conferir qual a versão instalada:
ruby -v
2) Instalar o rvm http://rvm.beginrescueend.com/, ele tem muitas vantagens, auxilia a instalação e a manutenção de vários ambientes:

bash < <(curl https://rvm.beginrescueend.com/install/rvm)

3) Editar o arquivo  .bashrc. Esse passo pode ser um pouco chato.
Após instalar o rvm aparece esse aviso:
You must now finish the install manually:
1) Place the folowing line at the end of your shell’s loading files(.bashrc or .bash_profile for bash and .zshrc for zsh), after all path/variable settings:
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
2) Ensure that there is no ‘return’ from inside the .bashrc file. (otherwise rvm will be prevented from working properly).
This means that if you see ‘[ -z  ] && return’ then you must change this line to:
if [[ ! -z  ]] ; then
… original content that was below the && return line …
fi # <= be sure to close the if.
#EOF .bashrc
Be absolutely *sure* to REMOVE the ‘&& return’.
If you wish to DRY up your config you can ‘source ~/.bashrc’ at the bottom of your .bash_profile.
placing all non-interactive items in the .bashrc, including the ‘source’ line above
No linux Mint foi só adicionar a linha no final. Já no Ubuntu a maneira mais fácil encontrei nesse fóum http://ubuntuforums.org/archive/index.php/t-1392189.html
3.1) renomear o .bashrc para .bashrc_part2
cp .bashrc .bashrc_part2
3.2) remover no .bashrc_part2 a linha com ‘… && return’, linha 6
3.3) esvaziar o .bashrc e colocar o conteúdo:
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
if [[ ! -z "$PS1" ]] ; then
  source ~/.bashrc_part2
fi
4) Feche o terminal e abra um novo terminal para recarregar o bashrc e o rvm funcionar direitinho.
rvm info
A versao atual do ruby ainda deve ser a mesma de antes:
ruby -v
4.1) Instalar ruby pelo rvm

(rvm install ruby-head) instalou o 1.9.3dev, testando mais um pouco vi que o head dá problema quando vai usar o console do rails, então é melhor instalar o 1.9.2 mesmo

rvm install 1.9.2
Demora alguns minutos, aguenta firme. Após a instalação ainda não vai aparecer:
ruby -v
4.2) Escolher a versão do ruby como default

(rvm –default ruby-head)

rvm --default 1.9.2
Agora já aparece a versão head do ruby
ruby -v
4.3) O ruby mais novo ja está instalado e funcionando, só falta uma coisa antes de instalar o rails, também demora, uns 5~10 minutos:
gem install sqlite3-ruby
5) Chegou a hora, mais uns 10 minutos:
gem install rails
Atualização (29/11/2010): Parece haver um bugzinho na versão 3.0.3, se aparecer este erro:
ERROR:  Error installing rails:
	mail requires i18n (~> 0.4.1, runtime)
A solução é instalar o mail antes:
gem install mail

E depois desinstalar o i18n versão 5

gem uninstall i18n
Select gem to uninstall:
 1. i18n-0.4.2
 2. i18n-0.5.0
 3. All versions

Escolha a opção 2.

Então é só repetir o comando de instalação do rails.
6) Testar:
#criar a aplicacao
rails new appteste1
#ir para a aplicacao
cd appteste1
#ligar o servidor
rails s
bash < <(curl https://rvm.beginrescueend.com/install/rvm)
#acessar no navegador

Extras:

Mysql

sudo apt-get install mysql-server
gem install mysql2

Se por algum motivo aparecer esse erro:

ERROR:  Error installing mysql:
	ERROR: Failed to build gem native extension.
...

A solução é:

sudo apt-get install libmysqlclient-dev

Agora já dá para gerar um rails usando mysql.

rails new appmysql1 -d mysql

Problemas:

Instalando no virtualbox não reconhecia o repositório de gems, dava timeout.
Trocar o endereço padrão melhorou um pouco, no fundo dá na mesma, parece que depende de dns, conexão, provedor, firewall, sei lá..:

gem sources -a http://gems.rubyforge.org
gem sources -r http://rubygems.org/

Algumas vezes não vai de primeira, mas na segunda, ou terceira tentativa vai. Não sei se ajudou, mas algumas vezes copiei o endereço de erro (por exemplo: http://gems.rubyforge.org/gems/sqlite3-ruby-1.3.0.gem) e acessei pelo navegador, aí o script acordou e encontrou a gem, vai entender…

Refs:

Será que vale um vídeozinho? Ou um script para fazer tudo de uma vez?

Publicado

em

,

por

Comentários

12 respostas para “Como instalar Rails 3 no (k) ubuntu”

  1. Avatar de Norberto

     
    Olá, mto bom o post.
     
    Será que poderia me ajudar, fui criar um projeto pra testar usando o ruby 1.9.1 "rails new teste" e me voltou este erro
     
    /usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem'
    from /usr/bin/rails:18
     
    eu não sei o que pode ser.
     

  2. Avatar de codexico

    Norberto, é um erro meio estranho mesmo.

    Para conferir se as coisas estão instaladas corretamente pode usar os comandos "ruby -v", "rails -v". Se não aparecer a versão q vc instalou aí pode estar faltando o passo de deixar como default:

    rvm –default 1.9.1

    Para ver se o rvm instalou tudo direitinho são úteis os comandos "rvm list" e "rvm notes".

    O que pode estar acontecendo é algum problema no bashrc, é a parte mais chata da instalação do rvm, tente refazer os passos. Qual o linux q vc está usando?

     

    Aproveitando para atualizar o post, testei com o ruby 1.9.2 e funcionou tudo normalmente, vou arrumar as instruções.

    Pode ser uma outra tentativa pra vc, instalar a versão 1.9.2 pode ser que resolva este problema. Depois diga como resolveu para que eu possa corrigir alguma coisa nas instruções e obrigado pelo feedback.

  3. Avatar de Gabriel F. Vilar ( CoGUMm )

    Codexico, eu utilizava o Rails 2.3.8 e depois que atualizei para o Rails 3.0.0.rc2 seguindo o seu tutorial, fiquei com o mesmo problema do Noberto, já tentei várias coisa e não conseguir. Será que você poderia nos ajudar?
    Abraços e parabéns pelo blog!!

     
    /usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem'
    from /usr/bin/rails:18
     

  4. Avatar de codexico

    Gabriel e Norberto, testei novamente e a instalação continua funcionando. Mas tenho algumas suspeitas:

     

    1) Como vc já usava o rails antes (o tutorial é para sistemas novos) talvez tenha que desinstalar o rails antigo, mas acho essa a causa menos provável do problema. Instalei o rails antigo e não deu conflito nenhum aqui.

    2) "sudo" é só no primeiro comando, os outros são como usuário comum. Confira se vc não fez por exemplo "sudo gem install rails –pre".

    3) Como ficou seu .bashrc? O rvm deve ser a última coisa.

    4) Tem mais algumas dicas no site do rvm: http://rvm.beginrescueend.com/rvm/install/

     

    Se o problema persistir verifique a saída dos comandos rvm -v, ruby -v, rails -v, rvm notes, rvm info, type rvm | head -n1, qualquer problema envie o resultado.

    Se mesmo assim não funcionar eu faço outros testes instalando primeiro o rails 2.3.8 e depois o rvm para ver se consigo reproduzir o erro.

    E se der certo não esqueça de voltar e dizer como foi para que outros possam aproveitar também !!

  5. Avatar de Gabriel F. Vilar ( CoGUMm )

    Olá, eu conseguir depois que dei um gem update –system e um gem install rails –pre que ele instalou o Rails rc2.
    Fora isso tudo rodando bem!!
     
    Parabéns!

  6. Avatar de Ruan
    Ruan

    muito bom o tuto!

  7. Avatar de Felypeguimaraes
    Felypeguimaraes

    bom cara vlw pelo post mas lembra a galera de colocar sudo so no primeiro comando se colocar sudo no rvm nao funciona blza

  8. Avatar de
    Anônimo

    Bem lembrado Felype, usar sudo nos outros comandos não vai funcionar. Já coloquei um alerta no início do post.
    Valeu!

  9. Avatar de Anderson Felix

     Problema com Item 2:

    Entrei no link de referência: https://rvm.beginrescueend.com/
    E usei esse comando:
     $ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

  10. Avatar de Anderson Felix

     Outra coisa, para rodar a aplicação ao invés de: rails -s 
    Que gerou um erro de comando.

    Ultilizei: rails server

  11. Avatar de
    Anônimo

    Valeu Anderson, já atualizei o comando de instalação do rvm.
    O comando para ligar o servidor é “rails s”, sem hífen. É só uma abreviação do “rails server”.

    Outros comandos têm abreviações, “rails console” pode ser somente “rails c”.

  12. Avatar de Pedro Araujo de Andrade
    Pedro Araujo de Andrade

    Cara, muito obrigado. Eu tive sérios problemas tentando instalar no ubuntu em uma máquina virtual. Com esse tutorial consegui fazer tudo funcionar.  Quando digitei rvm –default 1.9.2 ele nao trocou a versão. digitei ruby -v e ainda estava a 1.8.6.

    Dai digitei rvm –default 1.8.6
    o rvm deu o erro que ja esperava, disse que não tinah essa versao do ruby para o RVM. então digitei rvm –defaul 1.9.2 novamente

    dai rolou. Não sei o que aconteceu, mas tá rolando agora.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *