CPAN vs. APT: Conflitos nas versões?

8

Não consigo encontrar a resposta para isso em nenhum lugar: um módulo instalado via APT entra em conflito com um instalado via CPAN?

Junto com essa pergunta estão estes: Onde os módulos CPAN instalados residem? Eles são acessíveis globalmente ou apenas para o usuário instalador? Como você sabe qual deles? Como você sabe o que é instalado e qual tem precedência?

O CPAN deve ainda ser usado quando os módulos são instalados via APT?

    
por Mei 15.08.2011 / 03:31

4 respostas

6

No Debian e no Ubuntu, o CPAN ( /usr/bin/cpan utility) instala os módulos em /usr/local/lib/ por padrão. E os pacotes debian mantêm seus arquivos em /usr/share/perl5/ e /usr/lib/perl5/ . Portanto, arquivos instalados via /usr/bin/cpan não sobrescreverão arquivos instalados via apt.

Não há nada de errado com o uso do sistema perl, e a mistura dos códigos apt e cpan geralmente funcionará.

Você também pode escolher empacotar qualquer distribuição cpan não disponível em seus repositórios apt manualmente. É fácil com a ajuda da ferramenta dh-make-perl:

dh-make-perl --cpan Some::Module && cd Some-Module* && sudo debi
    
por berekuk 21.08.2011 / 12:14
5

Eu uso perlbrew . Ele instala uma versão local do Perl e cpan. Tudo o que faz é feito no seu diretório pessoal. É direto para instalar e usar e você pode instalar a versão mais recente do Perl.

    
por shawnhcorey 21.08.2011 / 02:22
3

Ao instalar diretamente do CPAN, recomendo usar local :: lib em um diretório particular para você. Veja a técnica de boostrapping link

Dessa forma, o módulo instalado do CPAN será usado apenas pelo usuário e terá uma separação muito clara dos módulos instalados usando o APT.

Ele também tornará mais fácil se livrar dos módulos instalados pelo CPAN se você encontrar algum problema ou quando você atualizar o Ubuntu.

É assim que eu uso no Ubuntu.

    
por szabgab 20.08.2011 / 22:23
2

Você pode usar os dois, mas eles entrarão em conflito. Eles são escritos no mesmo lugar, então se você instalar algo do apt e depois instalar uma versão mais recente do cpan, você pode botar as coisas em ordem.

Eu não faço muito Perl, mas em Python eu certamente tenho o dilema que você está falando: apt-vs-PyPI. Eu pessoalmente opto por apt sempre que posso. Isso significa que eu deveria receber atualizações sem ter que lembrar de manter cada pacote Python individual. Não só isso, mas significa que todos os meus sistemas devem estar rodando na mesma versão desses pacotes.

Nem sempre funciona. Às vezes você não tem coisas novas o suficiente nos repositórios ou algo que você precisa não é empacotado. Nenhum dos dois caminhos é perfeito, mas acredito que seja mais perfeito. Apenas esteja ciente do que você está fazendo e você ficará bem.

Editar - Quase esqueci, existe uma maneira melhor de seccionar as coisas para que o sistema possa ter seu próprio ambiente e o que você está desenvolvendo pode viver em seu próprio ambiente (que você gerencia completamente com CPAN), como virtualenv ... do Python ...

link

    
por Oli 15.08.2011 / 03:38

Tags