berrybrew 1.23 released!
It's been quite a while in the making, but berrybrew version 1.23 now has the ability to "clone" modules from one Perl instance into another.
It's currently a two-step process.
First, berrybrew switch
into the Perl instance you want to export the module list from, then...
berrybrew modules export
This will create a text document in a newly created modules
directory within your Perl installation directory (by default, C:\berrybrew
), named after the version of Perl you exported the module list from (eg: 5.20.3_64
). This file has a single distribution name per line.
You can go ahead and edit this file (remove or add as many distribution names as you like), then when you're ready to import into a different Perl instance, simply berrybrew switch
to it (note that as always, when switching Perls, you must close the command window and open a new one), then:
berrybrew modules import
That will display a list of all available export lists:
run the command with one of the following options:
5.16.3_64
5.20.3_64
...simply do what it says there:
berrybrew modules import 5.20.3_64
This can take a very, very long time, so it's advised to only import on a Perl instance that's newer than Perl you exported from. That, or significantly clean the file up for unneeded distributions.
Another benefit to this system, is that you can manually create a module "bundle" file within the mentioned "modules" directory, and add all distributions you prefer on all of your Perls. So:
- create a
C:\berrybrew\modules\base_modules_template
file - add in any distributions you want to automatically and easily install
- switch to the Perl instance you want to install into (or just make this habit for each new install you perform)
- run
berrybrew modules import base_modules_template
to have your custom distribution list installed automatically
You can remove all exported files by using the berrybrew clean modules
command, but beware that if you have any manually created export files per above, they will be removed as well. I've got an issue open for the next release so that clean modules
leaves any custom files in place.
Most of the other changes were quite minor this round, mainly back-end stuff, doc updates/fixes and test additions/modifications, along with an updated perls.json
file with the newly released 5.30 version.
Feedback, as always, is welcome (as are any bug tickets).
Enjoy!
-stevieb
Leave a comment