There doesn't seem to be a way of having a private repository of modules, which one may install from. You can come pretty close, but not hit the target, exactly. For example, one may "run a mini-CPAN" using the mcpani tool (to do the administrative work on the mini CPAN repository), and use, for example cpanp to install. This works, but there is the overhead of having to mirror all the CPAN stuff to your local drive. It would be preferable if you could keep only your private modules in a mini-CPAN, and then when you installed, pull your private modules from your repository, and then move to the public CPAN to get the public modules.

An alternative to this approach is to use a tool like pip. The downfall here though is pip is too literal, you need to specify a filename. It's far preferable for deployment to be able to specify the module and version, and have the installer figure out where to get the actual file.

It seems like there is so much install machinery on CPAN (CPAN.pm, CPANPLUS, mcpani, minicpan, etc.), that I feel like I must be missing something. Isn't there an easy way to make a list of modules to install, some public, some private (e.g. in a Bundle::xxx), and then install these automatically (with some packages being fetched from private repos and some public). I guess this should work provided one has mirrored properly as I mention above (still waiting on all the files to get sucked down).

Not only that but there is no way to revert an install. This makes me think RPMs derived from perl modules are the way to go. Am I missing some obvious tools?


In reply to Private Module Repository by zerohero

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.