InfoQ

News

Ruby Gems: new release and plans for inclusion in Ruby 1.9

Posted by Werner Schuster on Oct 15, 2007 06:20 PM

Community
Ruby
Topics
Dynamic Languages,
Configuration Management
Tags
RubyGems
Eric Hodel announced release 0.9.4.5 of Ruby Gems, the popular package management system for Ruby. This is a beta release for 0.9.5, adding a couple of new features:
  • Automatic installation of platform gems
  • New bandwidth and memory friendlier index file format
  • “Offline” mode (—no-update-sources)
  • Bulk update threshold can be specified (-B,—bulk-threshold)
  • New gem fetch command
  • gem now has “really verbose” output when you specify -v
  • Ruby 1.9 compatible
Tom Copeland, who maintains RubyForge, explains the changes to the way the package index , which improve reliability of Ruby Gems:
You may have seen this message from "gem install" before:

$ gem install rails 
ERROR: While executing gem ... (Gem::GemNotFoundException)
Could not find rails (> 0) in any repository
Then when you run "gem install rails" five minutes later, it installs just fine. This was due to the way we were rebuilding the gem index on RubyForge - we were doing it "in place", so that the current index would be overwritten and then populated over the course of the build. These take a fair while - 10 minutes or so - and during that time the index was essentially empty. Booooo.

[...]Eric Hodel has twiddled the gem index builder to build it in a temporary directory and then move it in place. So those gem index outages should be a thing of the past. Thanks Eric!
Another change improves memory usage:
Also, Wilson Bilkovich added a new Marshal formatted index that will reduce both bandwidth usage and memory consumption. Instead of 120M or so it takes to do a bulk yaml index update, it takes about 30M with a Marshal index update.
To update to Ruby Gems 0.9.4.5 simply do this:
gem update --system --source http://segment7.net/ 

The feature list item about Ruby 1.9 compatibility hints at Ruby Gems' future: inclusion in the standard Ruby 1.9. This started with a post by Sasada Koichi back in July:
Matz plans to import gem into Ruby 1.9. Does anyone has any comment to this?
- possibility/difficulty to import (who is the maintainer of gem?)
- compatibility
- and other problems
The ensuing discussion picked up again in October and is now focussed on details about the nature of Ruby Gems in Ruby 1.9. Specifics about matters such as the name and behavior of the package management are being discussed now.

No comments

Reply

Exclusive Content

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.

Christophe Coenraets Discusses Flex 3, AIR, and BlazeDS

Christophe Coenraets discusses Flex 3, Flex Builder, AIR, BlazeDS, Adobe and open source, integrating Flex with existing applications, and integrating RIAs with search engines and browsers.

Debunking Common Refactoring Misconceptions

Danijel Arsenovski attempts to dispel some of the myths around refactoring and how it applies to .NET developers.

REST Eye for the SOA Guy

In this presentation, recorded at QCon San Francisco, CORBA guru Steve Vinoski explains REST from the view of someone who comes to SOA from a traditional, RPC-oriented background.

Choose Feature Teams over Component Teams for Agility

Feature teams are key to scaling agility for large teams. In an excerpt from "Scaling Lean and Agile Development," Larman & Vodde show how feature teams resolve traditional problems & raise new issues

Billy Newport explains Virtualization

Billy Newport talks about virtualization, eXtreme Transaction Processing (XTP) and WebSphere Virtual Enterprise. He discusses hardware, hypervisor, JVM, application and data virtualization.

Virtualization and Security

While virtualization provides many benefits, security can not be a forgotten concept in its application.

Introduction to Agile for Traditional Project Managers

This session is specifically aimed at traditionally trained project managers who are new to Agile, and who would like to be able to relate the PMI's best practices to their Agile equivalents.