<div dir="ltr"><div>Olá,<br></div><div><br></div><div>Normalmente eu evito mexer no Perl do sistema. O fedora, inclusive, é historicamente bastante hostil ao lidar com o Perl, diga-se de passagem.</div><div><br></div><div>

Nos meus projetos, eu procedo da seguinte forma:</div><div><br></div><div>1) Instalar perlbrew*</div><div>2) Instalar a versão do Perl que eu vou usar**</div><div>3) Instalar o cpanm (App::cpanminus)</div><div>4) se máquina de desenvolvimento então</div>

<div>        instalar Carton e Dist::Zilla</div><div>    end-se</div><div><br></div><div>Daí, para os meus módulos ou aplicações, faço o gerenciamento de pacotes com Carton, que me deixa travar a versão exata*** de cada módulo.</div>

<div><br></div><div>Para os módulos não é necessário, mas para as aplicações, o carton permite que você empacote todas as dependências em um diretório vendor/, que você pode fazer um tar e subir para aquele servidor de produção que não sai pra internet, e então instalar normalmente, de forma que mesmo pacotes com XS funcionem. O carton se empacotes junto, inclusive, para o caso da máquina destino não ter carton instalado.</div>

<div><br></div><div>Assim eu tenho o controle exato de cada versão de cada pacote.</div><div><br></div><div>O CPAN é fantástico, sempre foi, mas eu diria que dá pra dividi-lo em duas eras: antes e depois do Carton.</div>
<div>
<br></div><div><br></div><div><br></div><div>* Curiosamente hoje, a instalação do Perlbrew falhou num debian 6 que eu to configurando e eu precisei instalar o pacote Devel::PatchPerl diretamente no sistema com o cpan tradicional (root).</div>

<div><br></div><div>** O drawback é que eu preciso de acesso ao compilador.</div><div><br></div><div>*** Sim, raramente acontece, mas eu já precisei achar uma combinação X de versões pra funcionar redondo, mas nada além de editar o cpanfile e rodar carton install denovo.</div>

<div><br></div><div>[]'s</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-04 15:24 GMT-03:00 Samir Cury <span dir="ltr"><<a href="mailto:samircurys@gmail.com" target="_blank">samircurys@gmail.com</a>></span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">E ai pessoal,<div><br></div><div>Acabei de passar por um pequeno problema com o CPAN e achei uma solucao interessante. Tambem gostaria de perguntar ao pessoal que e mais fa do CPAN, o que acham de modulos que sao distribuidos como pacotes. Se e bom/ruim para o ecossistema.</div>


<div><br></div><div>Entao, o problema foi quando tentei cpan install CouchDB::Client. Que funcionou em outras maquinas mas nao no Fedora 19 que tenho aqui. Quebrou em algum modulo referente a testes, que dependia do Module::Build que tambem falhou.</div>


<div><br></div><div>Nao querendo gastar muito tempo com isso, fui para o plano B : Pacotes de modulos. O motivo dos pacotes serem meu plano B e que cada distribuicao gosta de um nome diferente e as vezes e irritante ter que adivinhar, mas acabei de achar um macete :<br>


<div><br></div><div>yum install 'perl(Module::Build)'<br></div></div><div><br></div><div>O pessoal do YUM mandou muito bem. Uma vez que o Module::Build foi instalado, procurei pelo pacote do modulo CouchDB::Client. Nao existia. Porem voltando para o CPAN e tentando de novo o CouchDB::Client foi tranquilo. Posso voltar a trabalhar no que eu preciso trabalhar, nao em consertar testes :-).</div>


<div><br></div><div>Mas acho interessante a discussao sobre CPAN x Pacotes. Uma das principais desvantagens que ouvi uma vez (nao conferi) e que o CPAN acaba "nao sabendo" o que o Yum/Apt instalou. Procede? Existe algum efeito colateral grave conhecido?</div>


<div><br></div><div>Abracos,<br>Samir</div></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br></div></div>