Dica rápida: Como instalar o PostgreSQL no seu Mac OS e as gems para sua aplicação Rails

Olá pessoal !

A dica rápida de hoje visa diminuir a dor de cabeça e agilizar o processo de instalação e configuração do PostgreSQL para que funcione com o Rails em seu ambiente de desenvolvimento.

O primeiro passo, é baixar a versão do PostgreSQL para Mac OS(utilizei o .dmg por questão de praticidade) que pode ser encontrato em: http://www.enterprisedb.com/products-services-training/pgdownload#osx

Após a instalação do .dmg podemos criar uma nova aplicação, aqui usaremos exemplo_pg para exemplificar, então, abra o terminal e digite:

rails new exemplo_pg

Com nossa estrutura no esquema, devemos inserir no Gemfile do projeto a gem ruby-pg que é a responsável pela integração do rails com o postgre. Porém, se tentar executar o comando bundle install, você muito provavelmente obterá uma saída parecida com esta:


Fetching: ruby-pg-0.7.9.2008.01.28.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing ruby-pg:
ERROR: Failed to build gem native extension.


/Users/mauriciovoto/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby extconf.rb
extconf.rb:1: command not found: pg_config --bindir

=========== WARNING ===========

You are building this extension on OS X without setting the
ARCHFLAGS environment variable, and PostgreSQL does not appear
to have been built as a universal binary. If you are seeing this
message, that means that the build will probably fail.

Try setting the environment variable ARCHFLAGS
to '-arch x86_64' before building.

For example:
(in bash) $ export ARCHFLAGS='-arch x86_64'
(in tcsh) % setenv ARCHFLAGS '-arch x86_64'

Then try building again.

===================================
extconf.rb:55: command not found: pg_config --includedir
extconf.rb:52: command not found: pg_config --libdir
checking for main() in -lpq... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/mauriciovoto/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby
--with-pgsql-dir
--without-pgsql-dir
--with-pgsql-include
--without-pgsql-include=${pgsql-dir}/include
--with-pgsql-lib
--without-pgsql-lib=${pgsql-dir}/lib
--with-pqlib
--without-pqlib
Could not find PostgreSQL build environment (libraries & headers): Makefile not created

Gem files will remain installed in /Users/mauriciovoto/.rvm/gems/ree-1.8.7-2011.03@gis/gems/ruby-pg-0.7.9.2008.01.28 for inspection.
Results logged to /Users/mauriciovoto/.rvm/gems/ree-1.8.7-2011.03@gis/gems/ruby-pg-0.7.9.2008.01.28/ext/gem_make.out


Para resolver este problema e instalar a gem normalmente, basta executar o seguinte comando:

PATH=$PATH:/Library/PostgreSQL/9.0/bin/ bundle install

E em seu database.yml:

development:
adapter: postgresql
database: sua_base
username: seu_user
password: sua_password
host: localhost
encoding: UTF8

Com isto, ao rodar os comandos rake db:create e db:migrate deverá obter sucesso !

Espero poder contribuir e evitar que muitos tenham os problemas e dificuldades que tive ao executar este procedimento que em tese, deveria ser bem simples. Fiz tentativas com algumas outras gems do postgre, porém sem êxito.

Obs: As versões utilizadas neste post foram:

– Mac OSX 10.6.8

– Rails 3.0.3

– PostgreSQL 9.0.4-1

Dica Rápida: Verificar se a gem é compatível ao Rails 3

Hoje é dia de dica rápida, ou seja, algo bem útil mas que não necessita de grandes explicações, ou um post extenso.

A dica rápida de hoje serve para aqueles que como eu estão se aventurando na versão mais atualizada do rails e querem saber se a gem a ser utilizada no projeto é compatível com o rails 3. Aliás, esta dica serve para testar também a compatibilidade com jruby e ruby 1.9.

Basta entrar no site railsplugin e procurar pela gem que deseja utilizar, simples assim !

 

Até a próxima !

 

Rails For Zombies: uma maneira fácil, divertida e rápida de aprender Rails

Fantástica !!!

Essa é minha opinião sobre a ideia inovadora da Envylabs. Sim, eles mesmos que já fizeram alguns vídeos inovadores comparando ruby on rails com outras linguagens de desenvolvimento.

A ideia desta vez surpreendeu, se trata um site/tutorial em que o usuário precisa apenas se cadastrar(e entender inglês) para poder aprender Ruby on Rails, ou seja, não precisa instalar nem configurar nada em sua máquina ! Ideal para quem quer aprender qualquer tipo de linguagem ou apenas experimentar para saber se realmente vai se dar bem.

Após criar sua conta, o usuário assiste um vídeo bastante irreverente sobre o tópico de rails a ser abordado e com uma boa pitada de zumbizisse para tornar o aprendizado mais leve e descontraído, após assistir o vídeo o usuário pode fazer o download dos slides ou do vídeo que acabou de assistir e também parte para os exercícios sobre o tópico abordado. Interessante não ?

Acho muito válido para quem quer aprender e até mesmo para quem já tem bons conhecimentos em Rails pois além de descontrair você dá uma reforçada legal nos tópicos básicos !

Recomendo fortemente que vocês comam um pouco de cérebro !

JQuery Grid – Rails Plugin

Iae pessoal, eu gostaria de escrever um post sobre TDD ou um sobre o Git, mas infelizmente ainda não estou com conhecimentos suficientes para escrever algo aqui, ainda estou assistindo ao screencast do Akita sobre Git e pretendo ainda desenvolver um site pequeno porém 100% TDD.

Bom, como quem não tem cão, caça com gato, vou escrever aqui sobre um plugin que utilizei estes dias e recomendo para quem precisa de um grid para Rails: é o JQuery Grid da 2dconcept. O uso deste plugin é bem simples, não tive problema algum para utilizá-lo, apenas segui o guia de referência da própria 2dconcept: http://www.2dconcept.com/jquery-grid-rails-plugin e fiz algumas customizações.

O grid é bem completo, atendeu bem minhas necessidades(que eram básicas) e como podem ver no exemplo possui funcionalidades como: alterar os registros, ordenar, incluir novos registros, filtrar e paginar.

É válido lembrar que pode ser facilmente traduzido, pois o plugin já vem com uma pasta i18n com vários arquivos js de locales diferentes.

Este post fica apenas como dica, já que não há nenhum bug ou dificuldade para que seja postado aqui.

A luta de um desenvolvedor

Bom pessoal, depois de não sei quanto tempo sem postar nada aqui, cá estou tentando manter o blog atualizado da mesma maneira que tenho lutado para conseguir trabalhar desenvolvendo com Rails.

Nunca consegui chegar em uma conclusão se um programador deve saber fazer de tudo um pouco ou se deve se especializar em uma linguagem só e ser o Mestre Yoda naquilo que se especializou, porém, me vejo hoje em dia como aquele desenvolvedor que faz em java, asp, vb ou asp.net se precisar. Infelizmente, pois eu gostaria de dedicar meu tempo sendo o Mestre Yoda em Ruby on Rails.

Hoje em dia, tento terminar todos os jobs que faço em asp para poder utilizar somente o Ruby on Rails em meu trabalho, conforme prometido por meu chefe, ótimo poder trabalhar com alguém que dá liberdade para escolher as tecnologias, desde que seja mostrado resultado e o Rails é ótimo para isto.

Post rápido porque tenho que correr para terminar os inacabados em asp e se Deus quiser, voltar para os braços do Rails em breve…

Hospedagem gratuita no Heroku

Bem amigos, cá estou para divulgar hospedagem gratuita de Ruby on Rails, o @heroku !
Excelente por ser gratuito, apesar de eu não ter tido um tempo legal para testar, tive boas recomendações e para fazer o deploy é muito simples.
Bom, vamos ao que interessa, as configurações:

– Primeiro, devemos instalar a gem do heroku:
sudo gem install heroku

– Crie um novo repositório git para sua app(caso ainda nao tennha criado):
cd “sua_app”
git init && git add . && git commit -m “first commit”

Obs: Cuidado com as aspas.

– Criar uma nova aplicação heroku:
heroku create
Created http://sharp-autumn-42.com/ | git@heroku.com:sharp-autumn-42.git
Git remote heroku added

Obs: O nome da app(sharp-autumn) é gerado automaticamente, depois mostrarei como é simples renomear.

git push heroku master

– Executar migrations:
heroku rake db:migrate

– Abrir app no seu navegador:

heroku open

– Para renomear sua app é simples, basta executar:


heroku rename novonome --app nomeantigo
http://novonome.heroku.com/ | git@heroku.com:novonomoe.git

Sua app vai ficar com o seguinte endereço: http://novonome.heroku.co
Bem simples não ?
Até a próxima !

Curso na @egenial

Olá galera, peço desculpa pela ausência, mas depois de muito tempo, acredito que voltarei a postar com uma frequência maior. Também estou pensando em migrar o blog, mas por enquanto continuo por aqui.

Segunda-feira, dia 01/03, começo curso de ruby on rails 2.3.5 na @egenial !!! Provável que eu poste considerações à respeito das aulas do curso. Curso este que tive excelentes recomendações de amigos e fóruns, sem contar que os mesmos também deram boas recomendações à respeito do instrutor do curso o @danielvlopes.

Aguardem novas postagens sobre o curso.

Até breve !