Instalando Erlang e CouchDB no Mac OS X


Leia em 1 minuto

Estou trabalhando em um projeto em Erlang e CouchDB. Então resolvi fazer este guia, mostrando como instalá-los no Mac OS X Leopard.

Antes de começar, certifique-se que você tem o XCode devidamente instalado!

Instalando o Erlang

Instalar o Erlang é, de longe, a parte mais fácil deste guia. Basta baixar o código-fonte e compilar com os comandos abaixo.

cd /tmp
wget -c http://www.erlang.org/download/otp_src_R12B-5.tar.gz
tar -xzf otp_src_R12B-5.tar.gz
cd opt_src_R12B-5
./configure --prefix=/usr/local --enable-smp-support --enable-hipe  --enable-darwin-universal --enable-threads
make
sudo make install
cd ..

Para testar, execute o comando which.

$ which erl
/usr/local/bin/erl

Instalando as dependências do CouchDB

O primeiro passo é instalar o ICU (International Components for Unicode). Execute os comandos abaixo e você deve instalá-lo sem dificuldades.

wget http://download.icu-project.org/files/icu4c/4.0.1/icu4c-4_0_1-src.tgz
tar xvf icu4c-4_0_1-src.tgz
cd icu/source
./configure --prefix=/usr/local
make
sudo make install
cd ../..

Depois, você precisará instalar o SpiderMonkey, Javascript engine da Mozilla Foundation. É ele quem torna a tarefa de instalação do CouchDB complicada. Baixe e extraia o código com os comandos abaixo.

wget ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
tar xvf js-1.7.0.tar.gz
cd js/src

Agora, exporte algumas variáveis de ambiente.

export XCFLAGS="-fno-common"
export XMKSHLIBOPTS="-dynamic -undefined suppress -flat_namespace"
export OTHER_LIBS="-L/usr/lib/gcc/i686-apple-darwin9/4.0.1/ -lgcc"

Para compilar o SpiderMonkey, execute o comando make.

make -f Makefile.ref

Agora, é preciso copiar os arquivos gerados para o diretório /usr/local.

make -f Makefile.ref export
sudo cp ../../dist/bin/js /usr/local/bin/
sudo cp ../../dist/lib/libjs.* /usr/local/lib/
sudo cp ../../dist/include/* /usr/local/include/
cd ../..

Instalando o CouchDB

Finalmente podemos instalar o CouchDB.

wget http://www.apache.org/dist/incubator/couchdb/0.8.1-incubating/apache-couchdb-0.8.1-incubating.tar.gz
tar xvf apache-couchdb-0.8.1-incubating.tar.gz
cd apache-couchdb-0.8.1-incubating
./configure --prefix=/usr/local
make
sudo make install

Você pode ver que o CouchDB foi instalado com o comando which.

$ which couchdb
/usr/local/bin/couchdb

Para iniciar o CouchDB, execute o comando sudo couchdb -b. Você pode acessar o endereço http://localhost:5984 para ver se ele está funcionando; uma mensagem como esta deverá aparecer:

{"couchdb":"Welcome","version":"0.8.1-incubating"}

Para parar o CouchDB, execute o comando sudo couchdb -d.

E para finalizar...

Se você está interessado em aprender Erlang, acompanhe este projeto no Github; são as anotações que estou fazendo enquanto leio o livro Programming Erlang: Software for a Concurrent World.

NOTA: Não adianta sugerir MacPorts ou Fink; eu simplesmente não gosto deles!