Instalar Perl en local

Aprende a instalar Perl en local para resolver los ejercicios de Exercism en tu propio ordenador


Notas sobre la versión de Perl

El track está pensado para la última versión estable de Perl. Es posible usar versiones anteriores de Perl, pero puede que sea necesario ajustar los ficheros stub proporcionados para que sean compatibles. Si no puedes usar la versión especificada en los ficheros stub, te recomendamos sustituir use v5.XX; por el siguiente código:

use strict;
use warnings;
use feature qw<signatures>;

Si el fichero stub contiene use experimental qw<class>; y la versión de Perl que estás usando no lo admite, puedes sustituirlo por use Feature::Compat::Class; o usar un sistema de orientación a objetos alternativo, por ejemplo, Moo.

Unix/Linux/Mac OSX

Es probable que Perl ya esté instalado, aunque puede que no sea la última versión. Ejecuta perl -v para comprobar qué versión tienes. Si quieres usar una versión más reciente, consulta la sección «Otras opciones».

Si usas Fedora/Red Hat/CentOS, algunos módulos del núcleo no se incluyen con Perl. Usa el comando yum install perl-core para instalarlos.

Windows

Strawberry Perl: un Perl 100 % de código abierto para Windows que es exactamente igual que Perl en cualquier otro sitio; esto incluye el uso de módulos de CPAN sin necesidad de paquetes binarios.

Puedes instalarlo directamente desde el sitio o usar el gestor de paquetes chocolatey.

Otras opciones

  • asdf: Un gestor de versiones de herramientas que permite instalar varios lenguajes, incluido Perl, que está disponible como plugin de la comunidad.
  • perlbrew: Una herramienta para gestionar varias instalaciones de Perl en tu directorio $HOME. Son universos de Perl completamente aislados.
  • plenv: Instala Perls en tu directorio personal y te permite instalar módulos localmente, además de cambiar a cualquier versión de Perl en tu shell.
  • ActivePerl Community Edition: Una distribución de Perl gratuita y lista para instalar para Windows, Linux y Mac OS X, diseñada para desarrolladores de la comunidad o proyectos de código abierto que no son críticos para el negocio ni para su misión.

Instalar los módulos necesarios

Si usas una versión de Perl anterior a la 5.40, tendrás que instalar el paquete de pruebas Test2::V0. También tendrás que instalar Feature::Compat::Class o un sistema de orientación a objetos alternativo para los ejercicios de programación orientada a objetos. Usa las siguientes instrucciones para configurarlo (o usa sin problema tu instalador de módulos favorito si ya conoces Perl):

local::lib

  • Asegúrate de que la CLI de Exercism ya está instalada y configurada. Ejecutar exercism workspace debería mostrarte la ruta adecuada.

  • Descarga el instalador de módulos cpm y úsalo para instalarse a sí mismo, local::lib, Test2::V0 y Feature::Compat::Class en tu directorio exercism/perl5:

# *nix
curl -sL --compressed https://git.io/cpm | \
  perl - install -L $(exercism workspace)/perl5 App::cpm local::lib Test2::V0 Feature::Compat::Class

# Microsoft PowerShell
(Invoke-WebRequest -UseBasicParsing 'https://git.io/cpm').Content |
  perl - install -L "$(exercism workspace)/perl5" App::cpm local::lib Test2::V0 Feature::Compat::Class
  • Ejecuta local::lib para configurar tu entorno de modo que use los módulos que has instalado en exercism/perl5:
# *nix
eval $(perl -I$(exercism workspace)/perl5/lib/perl5 -Mlocal::lib=$(exercism workspace)/perl5)

# Microsoft PowerShell
perl -I"$(exercism workspace)/perl5/lib/perl5"
  -M"local::lib=--shelltype=powershell,$(exercism workspace)/perl5" | Invoke-Expression

Los cambios en el entorno que hace el comando anterior no se conservarán y tendrás que volver a ejecutarlo si reinicias el shell. Si quieres que tu entorno se configure automáticamente cada vez, modifica tu .bashrc (o su equivalente en *nix) o tu PowerShell_profile.ps1 para incluir el comando anterior.

Puedes encontrar la documentación de local::lib aquí.

Paquetes del sistema operativo

Como alternativa, puede que el gestor de paquetes de tu sistema operativo tenga disponible un paquete de Test2 Suite para instalar. Entre las opciones disponibles están: