[rspec-users] Problem with refresh_specs

Nick Hoffman nick at deadorange.com
Thu Feb 12 11:33:35 EST 2009


On 31/01/2009, at 1:45 AM, jschank wrote:
> Hello,
> I recently unpacked the latest (1.1.12) rspec and rspec rails in my
> applicaiton.
> When I run my specs I get:
>
> config.gem: Unpacked gem rspec-1.1.12 in vendor/gems has no
> specification file. Run 'rake gems:refresh_specs' to fix this.
> config.gem: Unpacked gem rspec-rails-1.1.12 in vendor/gems has no
> specification file. Run 'rake gems:refresh_specs' to fix this.
>
>
> However, when I do what it says, I get this:
> [jschank at serenity shindg (maps)]$ rake gems:refresh_specs
> (in /Users/jschank/Projects/Rails/shindg)
> config.gem: Unpacked gem rspec-1.1.12 in vendor/gems has no
> specification file. Run 'rake gems:refresh_specs' to fix this.
> config.gem: Unpacked gem rspec-rails-1.1.12 in vendor/gems has no
> specification file. Run 'rake gems:refresh_specs' to fix this.
> rake aborted!
> superclass mismatch for class ModelExampleGroup
>
> A google search isn't helping me. What can I do to make this warning
> go away?
> besides piping it to dev/null
>
> Thanks,
> John Schank

I had this problem yesterday. Each of my gems in vendor/gems/ was  
missing its specification file. I have to assume that this is because  
I manually unpacked gems into vendor/gems/ .

I found that "rake gems:refresh_specs" failed to put the specification  
file into each frozen gem's directory because I didn't have any gem  
dependencies setup in environment.rb .

To fix these "has no specification file" warnings, here's what I did:

1) Add the following gem dependencies to config/environment.rb :
config.gem 'rspec', :version => '1.1.12', :lib => false
config.gem 'rspec-rails', :version => '1.1.12', :lib => false

2) Run "rake gems:refresh_specs".

3) Check that each frozen gem has a specification file:
$ ls -l vendor/gems/*/.specification

4) Comment out the gem dependencies in environment.rb .

I hope that helps!
-Nick


More information about the rspec-users mailing list