Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 885
  • Last Modified:

Active record already activated

I am using MediaTemple rails hosting and when I am trying to run my application I get this from my mongrel log:

** Daemonized, any open files are closed.  Look at log/mongrel.pid and log/mongrel.log for info.
** Starting Mongrel listening at 0.0.0.0:2013
** Starting Rails with production environment...
/home/66747/data/rubygems/lib/rubygems.rb:149:in `activate': can't activate activerecord (= 2.3.2, runtime), already activated activerecord-2.1.0 (Gem::Exception)
      from /home/66747/data/rubygems/lib/rubygems/custom_require.rb:35:in `require'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:222:in `require_frameworks'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:222:in `each'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:222:in `require_frameworks'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:113:in `process'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:93:in `send'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:93:in `run'
      from /home/66747/containers/rails/bestqualitypools/config/environment.rb:14
       ... 11 levels...
      from /home/66747/data/rubygems/gems/gems/mongrel-1.1.5-x86-linux/bin/../lib/mongrel/command.rb:212:in `run'
      from /home/66747/data/rubygems/gems/gems/mongrel-1.1.5-x86-linux/bin/mongrel_rails:281
      from /home/66747/data/rubygems/gems/bin/mongrel_rails:19:in `load'
      from /home/66747/data/rubygems/gems/bin/mongrel_rails:19


I have tried running "gem cleanup" and when I type in "gem list" I get:

*** LOCAL GEMS ***

actionmailer (2.3.2)
actionpack (2.3.2)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
mongrel (1.1.5)
mysql (2.7)
postgres (0.7.9.2008.01.28)
rails (2.3.2)
rake (0.8.4)
rmagick (1.15.15)
validatable (1.6.7)

Any ideas on what I can do? My database config looks like:

production:
  adapter: mysql
  database: db66747_bestqualitypools_production
  username: db66747_pools
  password: pw_here
  host: internal-db.s66747.gridserver.com

The username does have read/write permissions and the database is completed.

Not sure what else to do, i have googled the problem and checked on various google groups.

Thanks,

Ryan
0
catonthecouchproductions
Asked:
catonthecouchproductions
  • 14
  • 9
1 Solution
 
wesgarrisonCommented:
Do you have any gems unpacked in your application?  Maybe you unpacked 2.1 into vendor/gems and have 2.3.2 required?

Do you have AR specified twice in your environment.rb file?  Check out the lines with "config.gem".
0
 
catonthecouchproductionsAuthor Commented:
>>Do you have any gems unpacked in your application?  Maybe you unpacked 2.1 into vendor/gems and have 2.3.2 required?

How would I check this? I am fairly new with Ruby on Rails.

Here is my environment.rb: http://pastie.org/467269

Thanks,

Ryan

0
 
wesgarrisonCommented:
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION

This says "use version 2.1.2" but your gem list doesn't show that 2.1.2 is installed.

Either:
* (sudo) gem install rails -v 2.1.2
* Change the RAILS_GEM_VERSION to be 2.3.2

The first is safer, because you don't know if your application will work on the new version without some tweaking.
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
catonthecouchproductionsAuthor Commented:
Now that is is going to go through and install that version do I need to go through and remove my other versions of active record?
0
 
wesgarrisonCommented:
No.  Rails will use the one specified in the file.
0
 
catonthecouchproductionsAuthor Commented:
Alrighty, now when I try to start my application I get:

** Daemonized, any open files are closed.  Look at log/mongrel.pid and log/mongrel.log for info.
** Starting Mongrel listening at 0.0.0.0:2013
** Starting Rails with production environment...
/home/66747/data/rubygems/lib/rubygems.rb:149:in `activate': can't activate activerecord (= 2.1.2, runtime), already activated activerecord-2.1.0 (Gem::Exception)
      from /home/66747/data/rubygems/lib/rubygems/custom_require.rb:35:in `require'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:222:in `require_frameworks'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:222:in `each'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:222:in `require_frameworks'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:113:in `process'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:93:in `send'
      from /home/66747/containers/rails/bestqualitypools/config/../vendor/rails/railties/lib/initializer.rb:93:in `run'
      from /home/66747/containers/rails/bestqualitypools/config/environment.rb:14
       ... 11 levels...
      from /home/66747/data/rubygems/gems/gems/mongrel-1.1.5-x86-linux/bin/../lib/mongrel/command.rb:212:in `run'
      from /home/66747/data/rubygems/gems/gems/mongrel-1.1.5-x86-linux/bin/mongrel_rails:281
      from /home/66747/data/rubygems/gems/bin/mongrel_rails:19:in `load'
      from /home/66747/data/rubygems/gems/bin/mongrel_rails:19

And my gem list is now:

actionmailer (2.1.2)
actionpack (2.1.2)
activerecord (2.1.2)
activeresource (2.1.2)
activesupport (2.1.2)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
mongrel (1.1.5)
mysql (2.7)
postgres (0.7.9.2008.01.28)
rails (2.3.2, 2.1.2)
rake (0.8.4)
rmagick (1.15.15)
validatable (1.6.7)

And in my environment:

RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION


0
 
wesgarrisonCommented:
Do you have a folder "rails" in your "vendor" directory?  

If so, you can try removing it.

If not, you can unpack rails with:
rake rails:freeze:gems

That'll unpack it into the vendor/rails directory so that you KNOW what version is running.
0
 
catonthecouchproductionsAuthor Commented:
I tried deleting it via FTP, but it got caught up on deleting the folder "Argentina" I will try using the code.
0
 
catonthecouchproductionsAuthor Commented:
When I run:

"rake rails:freeze:gems"

I get:

"rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/home/66747/data/rubygems/gems/gems/rake-0.8.4/lib/rake.rb:2353:in `raw_load_rakefile'
(See full trace by running task with --trace)
"

There is "Rakefile" inside application directory in the root.
0
 
wesgarrisonCommented:
Yeah, FTP would be slow.
SSH would be better if that's an option.
0
 
catonthecouchproductionsAuthor Commented:
Inside my vendor/rails directory I have:

activesupport/
railties/

It gets hung up like I said on the Argentia folder within activesupport/ - language folder maybe?
0
 
catonthecouchproductionsAuthor Commented:
I am SSH in to the server now. How would I run an FTP to delete? I can check the MT control panel for that.

Ryan
0
 
wesgarrisonCommented:
Just nuke the whole vendor/rails folder:
rm -rf vendor/rails/

... from the application's base directory.

Then, try the rake freeze command, again from the application's base directory.
0
 
catonthecouchproductionsAuthor Commented:
Nice! That worked, now running, the rake freeze (what does this do by the way?)

I get:

Freezing to the gems for Rails 2.3.2
rm -rf vendor/rails
mkdir -p vendor/rails
cd vendor/rails
ERROR:  Gem 'activesupport' not installed.
mv  activesupport
rm -rf vendor/rails
rake aborted!
undefined method `to_str' for nil:NilClass

(See full trace by running task with --trace)

Should I run gem install activesupport?
0
 
wesgarrisonCommented:
Freezing takes the gems and unpacks them to the vendor/rails directory so that the application is frozen ("locked") to running that version.  You wouldn't need the gems installed on a machine that way.

Huh.  Your gem list --local from above shows activesupport.

Check it again:
gem list --local

Do you see:
  activesupport (2.1.2)

If you run the 'gem install' you'll get the latest version, not 2.1.2, fyi.

0
 
wesgarrisonCommented:
Try this to force using 2.1.2:

rake rails:freeze:edge RELEASE=2.1.2
0
 
catonthecouchproductionsAuthor Commented:
When I run that command I get:

activesupport (2.1.2)

I do have that installed, not sure why that is not running.
0
 
catonthecouchproductionsAuthor Commented:
Well then...aren't you just the ror guru ;)

I ran that and I got:

bestqualitypools.info@n11:/home/66747/containers/rails/bestqualitypools$ rake rails:freeze:edge RELEASE=2.1.2
(in /nfs/c04/h04/mnt/66747/containers/rails/bestqualitypools)
cd vendor
Downloading Rails from http://dev.rubyonrails.org/archives/rails_2.1.2.zip
Unpacking Rails
rm -rf rails
rm -f rails.zip
rm -f rails/Rakefile
rm -f rails/cleanlogs.sh
rm -f rails/pushgems.rb
rm -f rails/release.rb
cd -
Updating current scripts, javascripts, and configuration settings
0
 
catonthecouchproductionsAuthor Commented:
Let me try starting my application and see what my log reports.
0
 
catonthecouchproductionsAuthor Commented:
Amazing..that worked like a charm!

So it was the activerecord causing the problem?
0
 
catonthecouchproductionsAuthor Commented:
Great help! Very quick
0
 
wesgarrisonCommented:
Dunno.  Maybe your vendor/rails was incomplete so it couldn't find activesupport.
0
 
catonthecouchproductionsAuthor Commented:
Yeah..I wonder what it was. Specifying the rake command worked great.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 14
  • 9
Tackle projects and never again get stuck behind a technical roadblock.
Join Now