Erro com a gem mysql2 no Mac OS X

Já falei antes sobre como resolver o problema da gem mysql2 no Linux, agora tive um problema parecido no Mac OS X e consegui encontrar a solução em um comentário num blog, então vou documentar aqui também:

O problema que tive foi que a gem não encontrou uma biblioteca do MySQL client, essa foi a mensagem de erro:

dlopen(/Users/brunno/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.2.18/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/brunno/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.2.18/lib/mysql2/mysql2.bundle
  Reason: image not found - /Users/brunno/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.2.18/lib/mysql2/mysql2.bundle

Porém essa biblioteca é instalada junto com o MySQL, só não é visível a todo o sistema, para isso só é preciso criar um link simbólico para ela na pasta de bibliotecas do sistema usando o seguinte comando:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Agora a gem vai funcionar normalmente.

Erro ao instalar a gem mysql2 no Ubuntu

Já tive esse problema algumas vezes, essa gem deve ser meio bugada, e todas as vezes tenho que pesquisar para resolver, então resolvi deixar aqui para a posteridade.

No Ubuntu Linux basta instalar o pacote ‘libmysqlclient-dev’ com o comando:

sudo apt-get install libmysqlclient-dev

Depois disso é só instalar a gem normalmente e tudo vai correr bem, se aparecerem alguns erros referentes a RDoc e outras coisas relacionadas a documentação, não tem problema, ainda assim vai tudo funcionar.

Assim que precisar instalar em outro sistema operacional novamente coloco a solução aqui. 🙂