Hiding ruby gem ‘is deprecated with no replacement’ messages

Filed under quickie, rails, ruby, and rvm.

I recently installed ruby 1.9.2 via rvm, and suddenly every command started spitting out hundreds of line of deprecation messages :

> rails server
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/dave/.rvm/gems/ruby-1.9.2-p0@global/specifications/rubygems-update-1.8.2.gemspec:11.
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/dave/.rvm/gems/ruby-1.9.2-p0@rails3/specifications/annotate-models-1.0.4.gemspec:10.
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/dave/.rvm/gems/ruby-1.9.2-p0@rails3/specifications/beefcake-0.3.1.gemspec:10.
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/dave/.rvm/gems/ruby-1.9.2-p0@rails3/specifications/bundler-1.0.7.gemspec:10.
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/dave/.rvm/gems/ruby-1.9.2-p0@rails3/specifications/churn-0.0.12.gemspec:10.
.....                        
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-05-21 20:12:23] INFO  WEBrick 1.3.1
[2011-05-21 20:12:23] INFO  ruby 1.9.2 (2010-08-18) [x86_64-darwin10.7.0]
[2011-05-21 20:12:23] INFO  WEBrick::HTTPServer#start: pid=52918 port=3000

A bit of googling turned up this stack overflow post.

Run the suggested gem pristine command and restart rails, and voila:

> gem pristine --all --no-extensions
> rails server             
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-05-21 20:12:23] INFO  WEBrick 1.3.1
[2011-05-21 20:12:23] INFO  ruby 1.9.2 (2010-08-18) [x86_64-darwin10.7.0]
[2011-05-21 20:12:23] INFO  WEBrick::HTTPServer#start: pid=52918 port=3000

The post above and this other one both also recommend this if you’re using rvm:

> rvm rubygems current
Cannot switch to 1.3.7 for this interpreter.

… which just spat out that error in my case and didn’t seem to do anything else, but it’s possible it may work for you if gem pristine doesn’t.


If you enjoyed this post, please follow us on twitter or subscribe to our feed!