sexta-feira, 11 de setembro de 2009

Chamando aplicativos instalados com o ruby gem com um comando no terminal

Primeiramente um conselho: Tudo que puder instalar para desenvolvimento Ruby via ruby gem instale (melhor ainda se usar o rvm). Evite instalar qualquer coisa no sistema via apt-get. Isso pode gerar uma série de conflitos e, além disso, geralmente o repositório do synaptic demora um tempo para ser atualizado. Assim, instalando as gems você terá um sistema mais limpo e os frameworks/aplicativos mais atualizados, além da facilidade de manutenção.

Para que você possa chamar os aplicativos instalados via ruby gem (gem install "aplicativo"), você pode adicionar o path dos binários destes aplicativos rodando os seguinte comandos no terminal (neste caso utiliznado o ruby 1.8):

sudo su
echo "export PATH=\"\$PATH:/var/lib/gems/1.8/bin\"" >> /etc/bash.bashrc
exit

Isso fará com a linha export PATH="$PATH:/var/lib/gems/1.8/bin" seja adicionada ao aquivo /etc/bash.bashrc. Assim, toda vez que for iniciado o bash, sua variável ambiente $PATH receberá também o caminho dos binários instalados via ruby gem que ficam contidos na pasta /var/lib/gems/1.8/bin.

Contudo, na versão 9.10 do Ubuntu (se você utiliza outra versão, procure saber), o comando sudo foi compilado com a opção --with-secure-path. Assim, mudanças realizadas na variável não surtem efeito quando utilizado o comando sudo. Para contornar isso faça:

echo "alias sudo='sudo env PATH=\$PATH'" >> ~/.bashrc
Desta forma a variável $PATH será a mesma usando o comando sudo ou não.

Com isso, se eu instalar o rails assim:

sudo gem install rails
e poderei chamar o rails no terminal simplesmente rodando:

rails
As mudanças apenas surtirão efeito ao reiniciar seu terminal ou fazendo:

source /etc/bash.bashrc
source ~/.bashrc

[ ]'s

Nenhum comentário:

Postar um comentário