Very simple, very smart

The developers of Ruby on Rails have come up with yet another small but important innovation in the world of Web applications. Way back in release 0.14, they added the ability to freeze rails, which copies all of the system-wide Ruby libraries you might depend on into a directory in the application so that if the packages on the system get upgraded, your applications won’t break. This makes for fatter applications, but vastly reduces the risk that anyone will break your stuff.

In the Java world, developers have been including JAR files in their web application archives for ages. When I write a Java application, every library other than the ones in the Java class library I use is packaged with the application. Now I can easily do the same thing with Rails applications. Someone needs to add write some scripts to bring this functionality to Perl and PHP. applications. I’d love it if it were this easy to bring along your CPAN or PEAR libraries with your application code.

6 thoughts on “Very simple, very smart

  1. IIRC, they also plan to make freezing part of the initial application build (presumeably with an easy upgrade path as well). The downside to all this of course is in a year or two when some major security hole is revealed and shared hosters won’t be able to force-upgrade their clients.

  2. Isn’t this the sort of thing that Perl developers hosting on ISPs do all the time, by installing their CPAN modules into their own home directories and setting PERL5LIB ?

  3. GCC has also supported the -static flag for quite some time, so I’d say it’s a common approach.

    I’d be very careful, as you can have a ‘cut down all the forest to see some trees’ type of problem with this approach. You might not break your app visibly, but running old libraries, and multiple versions at that, sounds like a headache of immense proportions waiting to happen.

  4. We noticed that your blog have some Ruby On Rails releated content, and that is why we would like to invite you to register yourself and your blog at RubyCorner, a directory of Ruby related blogs:

    http://www.rubycorner.com/

    We like to think about RubyCorner as a “meeting place” for the community, also as a “focal point” where the people new to this technology can quickly tune into the pulse of the community. Registering your blog will help build a valuable resource for this growing community.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>