The break in my blogging was to start a new job. It’s kept me incredibly busy. I’m now a “Senior Infrastructure Architect” and being paid to write and maintain complex Perl scripts. It means lots more things in Perl to learn and see, but may limit what I can blog about, as I have to be careful of the NDA. I’m going to try and get back to this blog, though.
I reinstalled Perl the other day. It was no trouble; it came with my Linux distribution.
Then I had to reinstall all the missing modules.
That should be easy! I typed ‘autobundle’ in CPAN before I upgraded, and it wrote out a Bundle file. All should be well! I should just have to type “perl -MCPAN -e ‘install Bundle::Snapshot_2009_09_09 and let it go do what it needs to do.
Pity it doesn’t work that well.
I don’t know why it’s done what it’s done. It seems to have installed every old version of every module I had installed, and then later versions. Sometimes. The Catalyst install was particularly screwed up, as it lists Moose 0.90 or greater. Somehow Moose was at 0.87 or something, and Catalyst’s install noticed this, but then kept going, and said all was good.
All wasn’t good. The error messages were unfathomable.
Eventually, I tried to reinstall Catalyst and it said that Moose was too low a version, but didn’t fix it. After fixing it by hand, things were less bad.
This didn’t just happen with Moose either. I think I have ten versions of DBIx::Class installed, for no visible reason. I think there as many versions of Catalyst. Lots of other modules wouldn’t install right, and got CPAN stuck asking for them over and over. I ran out of space because of extracting them to the build directory. I finally had to find many of them and install them by hand or force-install them. The autobundle was not my friend.
CPAN’s version tracking and dependency management failed hard here, and I don’t know why. It’s taken me weeks of fiddling with this in the evenings to get this sorted out and everything still isn’t normal yet.
Worse, CPAN and/or the module installs keep stopping and asking questions. Some of them I can see they had to ask, but others… why? Why are they constantly asking “install the needed modules?”
I need to install Perl 5.10.1 and probably have to do this all over again. Not looking forward to it. I may see if I can extract the list of modules from the Bundle file and write a script to install them manually, without the version information. Maybe I can get away with less redundancy.
What a mess. I see why people are afraid of the CPAN if it behaves like this.
Tags: perl CPAN