your the please not modules make guest from currently additions perl module

perl - the - ¿Debo usar Module:: Install o Module:: Build?



please install the gcc make perl packages from your distribution centos 7 (3)

Estoy escribiendo un editor de texto de programador (sí, otro) en Perl llamado Kephra , que también es un módulo de CPAN por supuesto y se incluye con Module :: Install . Recientemente vi que Module :: Build se ha convertido en núcleo, por lo que si cambio podría reducir las dependencias. ¿Hay alguna otra razón para cambiar?


Bueno, Module::Build es un módulo bastante bueno, se supone que es un reemplazo de ExtUtils::MakeMaker , es decir, reemplaza el Makefile.PL por un Build.PL, que genera una compilación en lugar de un archivo Makefile. También se entiende como "las cosas simples deberían ser simples, las cosas difíciles deberían ser posibles".

Module::Install toma un enfoque diferente y genera un Makefile.

Además, no olvide que no todo el mundo ejecuta la última versión de todo :-)

No recuerdo ninguna comparación de esos módulos, pero creo que podría encontrar algunas cosas de Module::Build y Module::Install respectivas páginas de cpanratings.


Usamos Module :: Build en nuestro grupo.

La razón principal es la extensibilidad fácil .

Module :: Build le permite hacer más con su proceso de construcción en Perl puro a través de subclases. Si desea hacer más con Module :: Install , debe tener conocimiento de cómo funcionan los Makefiles, AFAIK. Como presumiblemente ya conoces a Perl, esto puede ser una ventaja.

Como dijo, el uso de Module :: Build elimina la dependencia de un programa de make externo, que puede verse como algo bueno.

Sin embargo, las principales desventajas que puedo pensar son:

  • Aunque Module :: Build ha llegado al núcleo, no todos usarán una versión actualizada de Perl. Para usuarios con versiones anteriores del núcleo, creará una nueva dependencia.
  • Muchos de los veteranos (no necesariamente personas de Perl) están acostumbrados a perl Makemaker.PL; make; make install perl Makemaker.PL; make; make install perl Makemaker.PL; make; make install paradigm, y puede ser descartado teniendo Build.PL lugar. Espero que esto no sea un gran problema.
  • Module :: Build ocasionalmente ha roto nuestras construcciones cuando su funcionalidad ha cambiado porque la documentación no cubría un caso extremo que estábamos usando. El borde de la caja se modificó y documentó, pero tuvimos que volver a codificar nuestra subclase para que nuestra construcción funcione nuevamente (esto nos sucedió en la actualización reciente de 0.2808 a 0.3).

Sin embargo, todo lo dicho, aún recomiendo Module :: Build simplemente por la extensibilidad. Si eso no es un problema para usted, es mejor que se quede con Module :: Install.