On 06/05/2013 01:38 PM, J. V. wrote:
gem install money
I get:
ERROR: Error installing money:
money requires Ruby version >= 1.9.2.
Because the production server is 1.9.1, I simply want to mirror that for
the moment.
How did the production server with Ruby 1.9.1 get the money gem in the
first place given the error above?
When the production server was configured to run your application, there
was a version of the money gem available that was compatible with the
Ruby version in use. Since then, a newer version has been released that
is not compatible with that Ruby version. The way you are trying to
install the money gem is attempting to install the latest version of
that gem, and there is your first problem.
You need to figure out what version of the money gem is in use on your
production server. If you can figure that out (for example, x.y.z), you
can try to install that exact version on your Ubuntu system as follows:
gem install money -v x.y.z
It’s possible though that this version has been removed from
rubygems.org for various reasons, as I mentioned in reply to an earlier
thread of yours on this topic. You’ll need to talk to the maintainers
of the money gem about your options in that case. Maybe you can get the
sources for that older version, build them into a gem yourself, and
install that.
To figure out the version of the money gem that you need, log into your
production server and run this in the same context as the application:
gem list money
If multiple versions are listed, your application is probably using the
newest version in that list. You should do this for each gem used by
your production server in order to replicate things as closely as
possible. Don’t assume that just because you can install the latest
version of a gem that it will be backward compatible with the version
your production server uses.
BTW, in addition to upgrading from Ruby 1.9.1 as suggested by Andrew,
you should also look into using bundler to manage gem dependencies:
http://gembundler.com/
Using that should help prevent many of your problems with keeping your
production and development environments in sync with respect to gems.
-Jeremy