Erro - FranciscoWallison/openkore GitHub Wiki

Esse erro não é específico do Win32::Console, mas sim do seu cliente CPAN não conseguir baixar o índice de módulos do mirror configurado. A mensagem chave é:

  • LWP failed with code[500] message[SSL negotiation failed:] O mirror http://cpan.strawberryperl.com/ está retornando HTTP 500 ou não consegue estabelecer uma conexão TLS/SSL corretamente.

  • Como “último recurso” ele tenta usar o ftp.exe, mas o fallback por FTP também não está configurado ou falha.


Por que acontece

  1. Mirror com problema O servidor cpan.strawberryperl.com pode estar temporariamente offline ou com configuração SSL incompatível.
  2. Falta de suporte SSL O CPAN do Strawberry Perl precisa dos módulos IO::Socket::SSL e Net::SSLeay para negociar HTTPS. Se eles não estiverem instalados, qualquer HTTPS (mesmo indireto) falha.

Como resolver

1. Trocar para um mirror HTTP simples

  1. Abra o shell do CPAN:

    cpan
    
  2. Liste seus mirrors atuais:

    o conf urllist
    
  3. Limpe a lista e adicione um mirror estável:

    o conf urllist clear
    o conf urllist push http://www.cpan.org/
    o conf urllist push http://mirrors.kernel.org/CPAN/
    o conf commit
    
  4. (Opcional) Desabilite o fallback por FTP, caso queira forçar sempre HTTP:

    o conf ftp ""
    o conf commit
    

2. Instalar suporte a SSL no CPAN

Ainda no shell do CPAN, tente primeiro:

install IO::Socket::SSL
install Net::SSLeay

Se funcionar, seu CPAN passará a suportar HTTPS normalmente.

3. Usar o cpanminus (cpanm)

O Strawberry Perl já inclui o cpanm, que costuma lidar melhor com mirrors e SSL. Basta sair do cpan> e, no prompt normal:

cpanm Win32::Console

Ou, se não vier instalado:

cpan install App::cpanminus
cpanm Win32::Console

4. Instalação manual

Se nada funcionar, baixe o tarball de Win32::Console em https://metacpan.org/release/Win32-Console , extraia e, dentro da pasta:

perl Makefile.PL
dmake
dmake test
dmake install

Após ajustar o mirror ou instalar o suporte SSL, volte a rodar:

cpan> install Win32::Console

e deverá concluir normalmente.