ruby

Instalando o Ruby 1.8.6 no Intrepid Ibex via Downgrade

Posted in ruby, tutorial, ubuntu on March 21st, 2009 by Gustavo Caixeta – Be the first to comment

Assim que 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 (anteriores ao 2.1).

Mas parece que mudaram a página do Rails :P falando que o 1.8.7 já funciona perfeitamente ehehe.
read more »

Instalando Ruby e Rails no Ubuntu 8.10 – Intrepid Ibex

Posted in ruby, tutorial, ubuntu on November 5th, 2008 by Gustavo Caixeta – 17 Comments

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