Recientemente instalé un nuevo sistema y quise instalar Padre para verificarlo. Las instrucciones de instalación de Padre específicamente dicen que instale local :: lib, así que lo hice (aunque nunca antes lo había necesitado). Luego seguí mi camino instalando varios otros módulos, ejecutando CPAN desde mi cuenta de usuario normal con sudo
para manejar las porciones requeridas de la raíz de la instalación.¿Cómo instalo un módulo de CPAN en todo el sitio mientras está presente local :: lib?
Luego llegó el momento de probar una de las aplicaciones web para las que se necesitaban estos módulos y, he aquí, apache no pudo encontrarlas. Cargaron bien desde la línea de comandos y una mirada rápida en ~/perl5
confirmó mi sospecha de que locales :: lib había secuestrado mis sesiones de CPAN y se instalan estos módulos allí en vez de en un lugar de todo el sitio, a pesar de mi config CPAN incluyendo
makepl_arg [INSTALLDIRS=site]
mbuildpl_arg [--installdirs site]
¿Qué debo hacer con mi configuración de CPAN para que los módulos se instalen en todo el sitio aunque esté instalado local :: lib? ¿O va a funcionar Padre sin él y puedo eliminar local :: lib por completo?
(I hacer no quieren cualquier módulos instalados bajo ~/perl5
menos que el padre insiste en ellos estar allí. Mi código en fase de desarrollo tiene sus propias ubicaciones de directorios específicos del proyecto y todo lo demás debe ser en todo el sitio. No tengo ningún necesidad de una ubicación de catch-all privada.)
¿Qué muestra 'which perl' show?Si es distinto de '/ usr/bin/perl', es posible que desee invocar'/usr/bin/perl -MCPAN -e shell'. –
Buena idea, pero muestra '/ usr/bin/perl'. –