Gems is a simple tool to manage sets of RubyGems. It can be used to install and uninstall large numbers of gems. Gems was originally created to replicate a server's gems on my development machine in order to see if my Rails code would not get into dependency issues.
All printed gems lists are displayed in alphabetic order by gem name
Console output for 'gems install', 'gems uninstall' and 'gems switch' is nicer.
Most gems commands can now work on multiple projects at the same time. The 'gems help' command has been updated to reflect this.
Gem install only installs missing gems; it does not re-install gems.
Added gems diff and gems switch commands to make it easy to compare and switch the gems of multiple projects.
Gems import accepts 'current' as a special file name, which will use the output of 'gem list' instead of a real file. This makes it easy to store the current gem configuration.
It is now possible to add a list of gems to an existing project. Changed internal storage format of ~/.gems.yml, which is auto-converted on use.
Bugfix: gem-specific installation options actually work as intended: passing compiler options to gems with C extensions.
Allow gem-specific installation options.
The install and uninstall actions now show a summary of the gems installed/uninstalled/failed.
First version as a gem. Features available are:
* Install gems in a project * Uninstall gems in a project * Import 'gems list' dump as project * Export project to 'gems list'-ish file * List gems in project * List projects
Use gem to install gems. The gem is located on github.
sudo gem install Narnach-gems -s http://gems.github.com
From the project root, use rake to install:
git clone git://github.com/Narnach/gems.git cd gems rake install
This will build the gem and install it for you.
See the gems help for the syntax
To store your current gems as project 'dev', do the following:
gem list > gems.dev gems import dev gems.dev
To switch from project 'dev' to 'server', do the following:
gems uninstall dev gems install server
It is also possible to directly switch to a project:
gems switch server
To export project 'dev' to the file 'gems.dev', do the following:
gems export dev gems.dev
Ideas / plans / todo
Interactive adding, removing and up/downgrading of gems within a project
Upgrade gems in a project to use a newer versions of its gems
Remove old gem versions from a gems project
Wes 'Narnach' Oldenbeuving (github.com/Narnach)
Copyright © 2008 Wes Oldenbeuving
MIT license. See MIT-LICENSE (in the gem directory) for license details.