Homebrew the new package system!
- ruby
- homebrew
Como mencionei em meus posts anteriores, tenho deixado de usar o MacPorts como package manager. Além de eu já ter passado por alguns problemas com ele ao fazer build existem outros problemas relatados no github do projeto, vale a pena dar uma conferida. Assim, estou deixando de usar o MacPorts (apesar de não desinstalado ainda, já não tenho mais nada instalado via port).
Bom, vou passar os passos que usei para ter o Homebrew funcionando no Mac OSX. Não sou dos mais experiêntes com *nix, ainda me perco em onde colocar cada coisa e desconheço boas práticas sobre isso. Infelizmente, não tive muita sorte em encontrar bons textos sobre isso, por isso fiz do meu jeito, baseando na instalação 3 (Gogolinux).
Para obter a versão do Homebrew eu apenas criei um diretório Cellar no /usr/local
sudo mkdir /usr/local/Cellar
Agora baixei a versão do github para este diretório
cd /usr/local/Cellar
sudo git clone git://github.com/mxcl/homebrew.git
Assim, teremos o projeto em /usr/local/Cellar/homebrew
. Se quiser fazer o primeiro teste, basta
digitar
/usr/local/Cellar $ homebrew/bin/brew --prefix
> /usr/local/Cellar/homebrew
Ok, vemos que o brew já está ok, mas tive que digitar homebrew/bin/brew
, se digitar o comando
brew
, tive como resposta
$ brew
-bash: brew: command not found
Isso por que o comando brew não se encontra no /usr/local/bin
Ok, basta fazermos um link simbólico:
cd /usr/local/bin
/usr/local/bin $ sudo ln -s /usr/local/Cellar/homebrew/bin/brew brew
Assim, teremos um link simbólico para o brew. Note que é como o atalho do Windows, se eu mudar o
brew
ele irá refletir no brew do bin. Digo isto por que no *nix podemos criar hard links que
aponta para o arquivo físico, o que é diferente de link.
Agora podemos testar digitando apensa:
$ brew --prefix
> /usr/local
Bom, eu no momento me sinto confortável em usar sudo para instalar, mas no site do projeto é
sugerido em alterar os donos do diretório /usr/local
de root para o seu usuário, eliminando
completamente a necessidade de digitar sudo. Talvez faça isto no futuro.
Bom, teste simples
$ sudo brew install wget
Warning: It appears you have Macports or Fink installed
Although, unlikely, this can break builds or cause obscure runtime issues.
If you experience problems try uninstalling these tools.
==> Downloading http://ftp.gnu.org/gnu/wget/wget-1.12.tar.bz2
######################################################################## 100.0%
==> ./configure --disable-debug --prefix=/usr/local/Cellar/wget/1.12
==> make install
/usr/local/Cellar/wget/1.12: 9 files, 784K, built in 31 seconds
$ which wget
> /usr/local/bin/wget
Agora para vermos onde ele está instalado:
$ brew list wget
/usr/local/Cellar/wget/1.12/bin/wget
/usr/local/Cellar/wget/1.12/etc/wgetrc
/usr/local/Cellar/wget/1.12/share/info/ (2 files)
/usr/local/Cellar/wget/1.12/share/man/man1/wget.1
Podemos ver que o wget foi instalado no /usr/local/Cellar
como queríamos. Quando precisarmos
remover qualquer coisa instalada, basta removermos tudo que há no Cellar e os links simbólicos
gerados automaticamente pelo brew (i.e. /usr/local/bin/wget
)
Qualquer sugestão ou correção me envie nos comentários.