[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Installing perl dependencies using Makefile.PL

Hi Guys,

Some musings here.

Currently in Makefile.PL we use a method of installing perl dependencies
that triggers cpan to do the actual work.

Unfortunately if it is the first time cpan has been run (by that user)
on that system it bothers the user with questions that may cause either
confusion or lead to incorrect choices being made.
This could result in the new modules being installed in the system perl
instead of local perl libs which, at least on debian based systems, is
considered a bad thing.

Even worse, after this first run, and installation of the needed
modules. A Logout and Login is required before Makefile.PL will complete
properly due to the Environment Variables needing to be correctly set.
(yes you can just run "exec bash --login" to fix it for a specific
terminal, but you need to do that for every terminal you may want to run
LedgerSMB or it's associated tools in.

cpanm on the other hand seems to *just work* as far as it asks the user
no questions.
Also it may not need the logout/in for the script to complete (not tested)

An alternative to both of these that has been suggested and may work
well for us is Carton.

Carton is a manager that uses that cpanfile to install things locally
(to a project) in a deployment-manageable way
https://metacpan.org/pod/Carton and

According to https://github.com/perl-carton/carton/issues/197
you don't actually have to use "carton exec", it's just a convenient way
to load only the local lib

Does anyone have thought or experience with any of these that suggests
any issues or benefits?

David G

Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
Ledger-smb-devel mailing list