After wasting days fighting module dependencies and other issues while trying to reproduce a Catalyst installation on a new laptop, I gave up and decided to switch to Mojo and its associated web application framework Mojolicious. Mojolicious is another "Perl on Rails" framework and its claim to fame (over Catalyst) is that it has no dependencies other than a base Perl install.
The major down sides to using Mojolicious over Catalyst are that it's more or less completely undocumented and that it has very little functionality above dispatching and rendering templates. None of the fancy functionality that was available in Catalyst, bundled or installed separately, is available in the base install. Modules providing extra functionality to Mojo also require the application to hook in to them explicitly rather than implicitly hooking in at load time like Catalyst plugins, which is a trade-off that leads to a small bit of extra work for the application developer in exchange for vastly simplified code and a much more manageable dependency list.
While this means that I have to do a lot more work to get going, especially while still in the early days before the expected proliferation of Mojolicious-related modules on CPAN, at least I can get going on development rather than sit and wait for (or fix myself) any number of integration problems that are presently preventing the installation of the Task::Catalyst metapackage.
As for documentation, there is some, scattered across the web. Here are two blog entries that I found useful:
While rebooting the space trader game under Mojo, I decided to create a glue layer between Mojolicious and the application-specific code. This glue layer is responsible for setting up the environment nicely so that the context object can access session variables, a DBIC (DBIx::Class) model, and whatever else I end up needing, much like Catalyst did automatically. I'm still tweaking the interfaces and determining where things should go. More on this later.