Update Ruby version on already running Rails app

I started an application on 1.8.7, and needed to update the server to 1.9.2 to get Passenger to run. Now I'm struggling to get the application to start under Apache+Passenger, and I'm wondering if there might be some 18.7-isms that I need to account for. Does this ring any bells for anyone?

My understanding was that any Rails app that would run under 1.8.7 would also run under 1.9.2, but that there may be some optimizations that I'm missing out on under the new Ruby. Is this just wishful thinking?

Walter

Walter Davis wrote in post #1023863:

I started an application on 1.8.7, and needed to update the server to
1.9.2 to get Passenger to run. Now I'm struggling to get the application
to start under Apache+Passenger, and I'm wondering if there might be
some 18.7-isms that I need to account for. Does this ring any bells for
anyone?

My understanding was that any Rails app that would run under 1.8.7 would
also run under 1.9.2, but that there may be some optimizations that I'm
missing out on under the new Ruby. Is this just wishful thinking?

Where did you get that idea? There were many gems that would not run
under 1.9.2. Even now there may be some that do not. Are you using any
gems in your app besides the base Rails gems? What version of Rails are
you running, because that makes a difference too whether it will run
under 1.9.2.

Did you not test your application in a staging environment before
updating the Ruby on your production server? If not then you may want to
downgrade to 1.8.7 and do proper testing.

Walter Davis wrote in post #1023863:

I started an application on 1.8.7, and needed to update the server to
1.9.2 to get Passenger to run. Now I'm struggling to get the application
to start under Apache+Passenger, and I'm wondering if there might be
some 18.7-isms that I need to account for. Does this ring any bells for
anyone?

My understanding was that any Rails app that would run under 1.8.7 would
also run under 1.9.2, but that there may be some optimizations that I'm
missing out on under the new Ruby. Is this just wishful thinking?

Where did you get that idea? There were many gems that would not run
under 1.9.2. Even now there may be some that do not. Are you using any
gems in your app besides the base Rails gems? What version of Rails are
you running, because that makes a difference too whether it will run
under 1.9.2.

That's an interesting point. Because Rails 3 (and by extension, in my mind, any Gem that purports to be compatible with Rails 3) supports both 1.8.7 and 1.9.2, I thought that there would not be any difficulty there. I am using a fairly short list of Gems, all of which are running without apparent errors on the server.

Did you not test your application in a staging environment before
updating the Ruby on your production server? If not then you may want to
downgrade to 1.8.7 and do proper testing.

I could not get 1.8.7 to install properly on the server in question, I had multiple problems getting Rubygems and Passenger to install until I moved to 1.9.2. Rolling the server back to 1.8.7 is not a good option for me. What I can do is RVM up to 1.9.2 on my Mac, and re-run my tests there. I do have a complete suite of tests, which pass in 1.8.7. What I don't have yet is a development or staging server with 1.9.2.

Thanks for your help,

Walter

Walter Davis wrote in post #1023863:

I started an application on 1.8.7, and needed to update the server to
1.9.2 to get Passenger to run. Now I'm struggling to get the application
to start under Apache+Passenger, and I'm wondering if there might be
some 18.7-isms that I need to account for. Does this ring any bells for
anyone?

My understanding was that any Rails app that would run under 1.8.7 would
also run under 1.9.2, but that there may be some optimizations that I'm
missing out on under the new Ruby. Is this just wishful thinking?

Where did you get that idea? There were many gems that would not run
under 1.9.2. Even now there may be some that do not. Are you using any
gems in your app besides the base Rails gems? What version of Rails are
you running, because that makes a difference too whether it will run
under 1.9.2.

That's an interesting point. Because Rails 3 (and by extension, in my mind, any Gem that purports to be compatible with Rails 3) supports both 1.8.7 and 1.9.2, I thought that there would not be any difficulty there. I am using a fairly short list of Gems, all of which are running without apparent errors on the server.

Did you not test your application in a staging environment before
updating the Ruby on your production server? If not then you may want to
downgrade to 1.8.7 and do proper testing.

I could not get 1.8.7 to install properly on the server in question, I had multiple problems getting Rubygems and Passenger to install until I moved to 1.9.2. Rolling the server back to 1.8.7 is not a good option for me. What I can do is RVM up to 1.9.2 on my Mac, and re-run my tests there. I do have a complete suite of tests, which pass in 1.8.7. What I don't have yet is a development or staging server with 1.9.2.

Follow-up: after much yak-shaving, I managed to install 1.9.2 on my Mac, and my tests pass. (The yak in question was that this was an upgraded machine from 10.5.latest to 10.6.8, and there were many 32-bit libraries in the load path.)

Walter