perl installation directory install multiple-versions

¿Cómo debo instalar más de una versión de Perl?



installation directory (6)

Desarrollamos con varias versiones de Perl aquí en el trabajo, y directorios separados es el camino a seguir. Hemos configurado un pequeño comando de shell que corrige los enlaces simbólicos y las variables de entorno para que pueda utilizar el perl que desee fácilmente.

Si le preocupa olvidar qué perl se está utilizando, podría hacer que esa secuencia de comandos agregue un número de versión a su indicador de shell.

Quiero instalar, desde el origen, las versiones de Perl 5.005 , v5.6 , v5.8 , v5.10

Ahora mismo tengo ''v5.10.0'' instalado.

/opt/perl/bin /opt/perl/html /opt/perl/lib /opt/perl/man /opt/perl/lib/5.10.0 /opt/perl/lib/site_perl /opt/perl/lib/site_perl/5.10.0

¿Tendré algún problema si los instalo todos en /opt/perl ?

¿O debería dividirlos en sus propios directorios de versión específica? Me gusta /opt/perl-5.10.0/


Divídalos en sus propios directorios específicos de versión, y luego ponga un enlace simbólico a la versión que desea usar en ese momento. Así es como tener múltiples JREs / JDK instalados funciona, por lo que parece tener sentido para las instalaciones de Perl también.


Instalo todos mis perls completamente en su propio directorio para que no compartan nada con ningún otro perl. Para hacerlo, simplemente dile a la secuencia de comandos Configure dónde instalar todo. Me gusta / usr / local / perls :

% ./Configure -des -Dprefix=/usr/local/perls/perl-5.x.y

Cuando hago eso para varias versiones, obtengo un directorio que tiene instalaciones separadas.

% ls -1 /usr/local/perls perl-5.10.0 perl-5.10.1 perl-5.6.2 perl-5.8.8

Todos ellos tienen sus propios directorios bin y lib:

% ls -1 /usr/local/perls/perl-5.10.0 bin lib man

La mayoría de las herramientas comunes descubrirán qué hacer si las llamas con diferentes perls:

/usr/local/perls/perl-5.10.0/bin/perl /usr/local/bin/cpan

Sin embargo, puedes tomar el perl que más quieras y ponerlo primero en tu camino. Simplemente hago un enlace simbólico a / usr / local / bin / perl, pero también puedes agregar directorios a PATH.

perlbrew hace mucho de esto por ti y mueve los enlaces simbólicos para hacer que uno de ellos sea el perl predeterminado.


Realmente deberías instalar las diferentes versiones en directorios distintos.

Cuando quiero probar varias versiones de un paquete que no existe como paquetes para mi distribución de Linux favorita, uso stow o xstow como administrador de paquetes de un hombre pobre:

  • Crear un directorio /usr/local/stow
  • Instale paquetes individuales en /usr/local/stow/$PACKAGE-$VERSION
  • mapee un "paquete" en /usr/local : stow -d /usr/local/stow $PACKAGE-$VERSION
  • desactivar un "paquete": stow -d /usr/local/stow -D $PACKAGE-$VERSION

stow hace su trabajo creando y manipulando enlaces simbólicos y es capaz de detectar conflictos.


Si bien la instalación en directorios diferentes suele ser una mejor manera de hacerlo, puede usar el conmutador Configurar -Dversiononly para usar un solo directorio e incluir el triplete de la versión en todas las rutas de acceso (excepto los archivos man, que probablemente no quiera instalar). , dándole por ejemplo un perl5.10.0 , cpan5.10.0 , perldoc5.10.0 , etc.


Si está utilizando servidores CentOS / RHEL, puede usar el relativamente nuevo sistema de Software Collection para instalar otras versiones de Perl además del "sistema Perl" (que es un antiguo 5.10 en EL6 y 5.8 en EL5).

Existen repositorios públicos para un conjunto central de paquetes Perl 5.16:

http://mirror.centos.org/centos/6/SCL/x86_64/

La comunidad está trabajando en la publicación de un subconjunto más grande de CPAN como paquetes instalables y la publicación de colecciones para otras versiones de Perl también.