Gems between two different machines

Hello,

I usually develop on a desktop machine, but I also have a laptop. I want to be able to ensure that the gems I've installed on one machine are available on the other.

$ gem env seems to tell me where the gems actually live. But I also seem to have a local ~/.gem directory. (and a .gemrc)

So my questions are these...

1) what are the local directories for? 2) Can I just copy the entire gem directory (from gem env) between two machines, and expect that to work?

Some possible flies in the ointment... * I'm using Mac OS X Leopard * The machines are different architectures (One is a G5, and one is an intel - but both are OS X)

Thanks, John Schank

Are you using Rails 2 ? Then you should add the gems into you application ..

rake gems # List the gems that this rails application depends on rake gems:build # Build any native extensions for unpacked gems rake gems:install # Installs all required gems for this application. rake gems:refresh_specs # Regenerate gem specifications in correct format. rake gems:unpack # Unpacks the specified gem into vendor/gems. rake gems:unpack:dependencies # Unpacks the specified gems and its dependencies into vendor/gems rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails) rake rails:unfreeze # Unlock this application from freeze of gems or edge and return to a fluid use of system gems

Thanks for the reply.

Freezing the gems is certainly possible, but what about using gems outside of rails?

Basically I'm just wondering if there is a really simple way to keep two or more machines in sync with the same versions of various gems. Aside from tediously listing the gems on one machine, and then installing the missing ones on the other. And vice-versa.

John

Hi, I have used gemsonrails(gemsonrails.rubyforge.org) plugin which helps us to freeze gems to a rails application. By this you can run your rails application with just ruby installed on any new machine

-NAYAK