Dave Perrett

Hiding Ruby Gem 'Is Deprecated With No Replacement' Messages

quickie, rails, ruby, rvm

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
> 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:

1
2
3
4
5
6
7
8
9
> 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:

1
2
> 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.