Instalar Perl localmente

Aprende a instalar Perl localmente para resolver los ejercicios de Exercism en tu propia máquina


Notas sobre la versión de Perl

Este track está pensado para la última versión estable de Perl. Es posible usar versiones anteriores de Perl, pero puede que sea necesario hacer ajustes a los archivos stub proporcionados para lograr compatibilidad. Si no puedes usar la versión especificada en los archivos stub, se recomienda reemplazar use v5.XX; con el siguiente código:

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

Si el archivo stub contiene use experimental qw<class>; y la versión de Perl que estás usando no lo admite, puedes reemplazarlo 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 es posible que no sea la versión más reciente. Ejecuta perl -v para ver 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 principales no vienen incluidos 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 lugar; esto incluye usar 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, el cual 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 bajo tu directorio personal, te permite instalar módulos de forma local y te deja 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 la misión.

Instalar los módulos necesarios

Si usas una versión de Perl anterior a la 5.40, necesitarás instalar el paquete de pruebas Test2::V0. También necesitarás instalar Feature::Compat::Class o un sistema de orientación a objetos alternativo para los ejercicios de programación orientada a objetos (POO). Usa las siguientes instrucciones para configurarlo (o siéntete libre de usar tu instalador de módulos favorito si ya estás familiarizado con Perl):

local::lib

  • Asegúrate de que la CLI de Exercism ya esté instalada y configurada. Al ejecutar exercism workspace deberías ver la ruta correspondiente.

  • 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 instalaste 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 de entorno que produce el comando anterior no se conservan, así que tendrás que volver a ejecutarlo si reinicias tu 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, el gestor de paquetes de tu sistema operativo puede tener un paquete de Test2 Suite disponible para que lo instales. Entre las opciones disponibles están: