[Rio-pm] CPAN x Pacotes Ou CPAN + Pacotes

Blabos de Blebe blabos em gmail.com
Sexta Abril 4 11:48:49 PDT 2014


Olá,

Normalmente eu evito mexer no Perl do sistema. O fedora, inclusive, é
historicamente bastante hostil ao lidar com o Perl, diga-se de passagem.

Nos meus projetos, eu procedo da seguinte forma:

1) Instalar perlbrew*
2) Instalar a versão do Perl que eu vou usar**
3) Instalar o cpanm (App::cpanminus)
4) se máquina de desenvolvimento então
        instalar Carton e Dist::Zilla
    end-se

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.

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.

Assim eu tenho o controle exato de cada versão de cada pacote.

O CPAN é fantástico, sempre foi, mas eu diria que dá pra dividi-lo em duas
eras: antes e depois do Carton.



* 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).

** O drawback é que eu preciso de acesso ao compilador.

*** 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.

[]'s


2014-04-04 15:24 GMT-03:00 Samir Cury <samircurys em gmail.com>:

> E ai pessoal,
>
> 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.
>
> 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.
>
> 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 :
>
> yum install 'perl(Module::Build)'
>
> 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 :-).
>
> 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?
>
> Abracos,
> Samir
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20140404/12d15094/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm