Can't activate rails (= 2.2.2, runtime), already activated rails-2.3.2

Hi,

I have updated from Ruby on Rails 2.2.2 to 2.3.2.
I have managed to run it both on my Mac OS X and Ubuntu server.
(script/server -e production)

But when I tried to run it using Capistrano, I got an error. (cap
deploy:start).
(I replaced my home directory name etc. with — in the following):

*** [err :: —.org] /usr/local/lib/site_ruby/1.8/rubygems.rb:149:in
activate' *** [err :: ---.org] : *** [err :: ---.org] can't activate rails (= 2.2.2, runtime), already activated rails-2.3.2 *** [err :: ---.org] ( *** [err :: ---.org] Gem::Exception *** [err :: ---.org] ) *** [err :: ---.org] from /usr/local/lib/site_ruby/1.8/rubygems/ custom_require.rb:35:inrequire’
*** [err :: —.org] from /home/----/public_html/----.ca/current/
script/process/spawner:3

In Capfile, I commented out the line:
Dir[‘vendor/plugins//recipes/.rb’].each { |plugin| load(plugin) }
because I thought a plugin may be requiring Ruby on Rails 2.2.2.
But still same error showed up.

Has anybody encountered this problem?

When I start with “script/server -e production”, there is no problem
and the application is running without a problem. So I doubt that it’s
a problem of some gem requiring Ruby on Rails 2.2.2.

Maybe it’s a problem only with Capistrano and it may not be related to
this mailinglist.

But any help will be greatly appreciated.

Tadatoshi

Hi,

It turned out that commands/process/spawner that is used by Capistrano
was deprecated in Ruby on Rails 2.3.2.
And it was extracted to irs_process_scripts plugin.
(GitHub - rails/irs_process_scripts: WARNING: this repo is not maintained anymore, if you want to maintain it, please send an mail to rails-core. The extracted inspector, reaper, and spawner scripts from script/process/*)

After I installed the plugin (script/plugin install
git://github.com/rails/irs_process_scripts.git), the error stopped
occurring and Capistrano worked as before.

Thank you.

Sincerely,
Tadatoshi

Beware that the install script for this plugin clobbers everything in
script/process, including any .svn directory (as I just found out).

Better to manual install…