Como adicionar módulos Perl usando o CPAN no El Capitan

2

Quando o OS X El Capitan chegou, a capacidade de usar o CPAN para adicionar ou atualizar módulos Perl desapareceu. Parece que os scripts querem alterar /usr/bin , que agora é proibido, ou tentam usar binários de /sw/usr/bin que não estão lá e estão em /usr/bin . O próprio Perl não pode ser instalado porque deseja instalar em /usr/bin em vez de /usr/local/bin .

Onde estão os scripts que usam esses /sw/usr/bin ? Parece que eles devem usar um PATH para localizar binários em vez de codificá-los.

Alguém sabe como consertar o Perl e o CPAN no El Capitan? Instruções detalhadas seriam úteis.

    
por John Wooten 12.11.2015 / 22:04

1 resposta

2

Não tive problema em adicionar novos pacotes CPAN ao perl enviado pelo OSX El Capitan. Por padrão, eles são criados em seu diretório inicial e instalados em /Library/Perl/5.18/ , que é gravável com privilégios de root.

O prefixo /sw/ que você mencionou parece vir de uma instalação do Fink . Se você instalou anteriormente outro perl do Fink, provavelmente precisará atualizar sua instalação do Fink e atualizar o pacote perl que vem dele.

Se você tem certeza de que não está usando o Fink e quer rodar outra versão perl ao lado do OS fornecido, você pode usar o de homebrew Ele será instalado em /usr/local e estará disponível para você chamá-lo, mas todos os programas OSX perl continuarão usando a versão perl fornecida com o OSX. Esteja ciente de que Fink e Homebrew não jogam bem um com o outro, é melhor ficar com apenas um.

Por fim, se você quiser executar várias versões do perl e conseguir alternar entre elas, sugiro que dê uma olhada em perlbrew .

Alguns outros comandos úteis para depurar sua instalação de perl ainda:

  • which perl dirá onde seu exec perl atual está instalado
  • perl -V lhe dará mais informações sobre a versão perl, sua data e opções compiladas e os caminhos de inclusão que são procurados por módulos
  • perldoc perllocal irá listar os módulos perl que você instalou localmente com o CPAN

Sobre o CPAN, como você notou, uma atualização regular de CPAN falha. No entanto, existe uma solução dizendo ao CPAN para instalar em /usr/local/bin/ . Eu documentei que a atualização do CPAN nesta resposta .

    
por 29.11.2015 / 14:55